/*===- 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. Coverage indexes are emitted as 4 bytes,
  // COVERAGE_IDX_VAL handles this.
  #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
  #define COVERAGE_IDX_VAL(X) X & 255, (unsigned(X) >> 8) & 255, (unsigned(X) >> 16) & 255, (unsigned(X) >> 24) & 255
  static const uint8_t MatcherTable[] = {
 OPC_SwitchOpcode , 95|128,41, TARGET_VAL(ISD::STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 85|128,25,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 12|128,6,
    OPC_CheckChild1Integer, 0,
    OPC_SwitchType , 51|128,2, MVT::i32,
     OPC_Scope, 17,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate6,
      OPC_CheckPatternPredicate, 41,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     30,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate, 41,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRBX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     30,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate0,
      OPC_CheckPatternPredicate, 41,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRHX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     72,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate6,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 35,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                       MVT::v4i32, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      32,
       OPC_CheckPatternPredicate, 24,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                       MVT::v4i32, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      0,
     75,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 14,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 9,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      31,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      0,
     75,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate0,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 14,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      31,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      0,
     0,
    86, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 41,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     32,
      OPC_CheckPatternPredicate, 35,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     32,
      OPC_CheckPatternPredicate, 24,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    58|128,1, MVT::i64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 41,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRDX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     22,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     22,
      OPC_CheckPatternPredicate, 54,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     22,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     31,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     32,
      OPC_CheckPatternPredicate, 55,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     31,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    58|128,1, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 41,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRDX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     22,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     22,
      OPC_CheckPatternPredicate, 54,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     22,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     31,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     32,
      OPC_CheckPatternPredicate, 55,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     31,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    0,
   21|128,5,
    OPC_CheckChild1Integer, 1,
    OPC_SwitchType , 89|128,1, MVT::i32,
     OPC_Scope, 62,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate6,
      OPC_Scope, 22,
       OPC_CheckPatternPredicate, 35,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 6, 3, 4,
      32,
       OPC_CheckPatternPredicate, 24,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                       MVT::v4i32, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      0,
     75,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 14,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      31,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 7,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      0,
     75,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate0,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 14,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      31,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      0,
     0,
    62, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_Scope, 22,
      OPC_CheckPatternPredicate, 35,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     32,
      OPC_CheckPatternPredicate, 24,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    67|128,1, MVT::i64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_Scope, 21,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     22,
      OPC_CheckPatternPredicate, 55,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     21,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     22,
      OPC_CheckPatternPredicate, 41,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     32,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     32,
      OPC_CheckPatternPredicate, 54,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     32,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    44|128,1, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_Scope, 21,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     22,
      OPC_CheckPatternPredicate, 55,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     21,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     32,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     32,
      OPC_CheckPatternPredicate, 54,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     32,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    0,
   32|128,2,
    OPC_CheckChild1Integer, 2,
    OPC_SwitchType , 89|128,1, MVT::i32,
     OPC_Scope, 62,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate6,
      OPC_Scope, 22,
       OPC_CheckPatternPredicate, 24,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 6, 3, 4,
      32,
       OPC_CheckPatternPredicate, 35,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                       MVT::v4i32, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      0,
     75,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 14,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 11,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      31,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      0,
     75,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate0,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 14,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      31,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      0,
     0,
    62, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_Scope, 22,
      OPC_CheckPatternPredicate, 24,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     32,
      OPC_CheckPatternPredicate, 35,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    0,
   19|128,1,
    OPC_CheckChild1Integer, 7,
    OPC_CheckTypeI32,
    OPC_Scope, 65,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate1,
     OPC_Scope, 22,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     31,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    75,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate0,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     31,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    0,
   47|128,2,
    OPC_CheckChild1Integer, 3,
    OPC_SwitchType , 94|128,1, MVT::i32,
     OPC_Scope, 30,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate0,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     72,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate6,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 35,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                       MVT::v4i32, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      32,
       OPC_CheckPatternPredicate, 24,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                       MVT::v4i32, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      0,
     75,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 14,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      31,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 5,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                       MVT::v16i8, 3, 1, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 8, 3, 4,
      0,
     39,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate0,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    72, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 35,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     32,
      OPC_CheckPatternPredicate, 24,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                      MVT::v4i32, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    0,
   68,
    OPC_CheckChild1Integer, 8,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate1,
    OPC_Scope, 21,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 3, 4,
    32,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    0,
   19|128,1,
    OPC_CheckChild1Integer, 4,
    OPC_CheckTypeI32,
    OPC_Scope, 65,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate0,
     OPC_Scope, 21,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     32,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    75,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate1,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 13,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     31,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    0,
   29|128,1,
    OPC_CheckChild1Integer, 5,
    OPC_CheckTypeI32,
    OPC_Scope, 75,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate1,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     31,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    75,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate0,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     31,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    0,
   29|128,1,
    OPC_CheckChild1Integer, 6,
    OPC_CheckTypeI32,
    OPC_Scope, 75,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate1,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 15,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     31,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    75,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate0,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 6,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     31,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                      MVT::v16i8, 3, 1, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 6, 7,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 8, 3, 4,
     0,
    0,
   78,
    OPC_CheckChild1Integer, 9,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate1,
    OPC_Scope, 32,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    31,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 15,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    0,
   78,
    OPC_CheckChild1Integer, 10,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate1,
    OPC_Scope, 32,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    31,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    0,
   78,
    OPC_CheckChild1Integer, 11,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate1,
    OPC_Scope, 32,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    31,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 13,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    0,
   78,
    OPC_CheckChild1Integer, 12,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate1,
    OPC_Scope, 32,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    31,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 12,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    0,
   78,
    OPC_CheckChild1Integer, 13,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate1,
    OPC_Scope, 32,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 6,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    31,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    0,
   78,
    OPC_CheckChild1Integer, 14,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate1,
    OPC_Scope, 32,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    31,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 10,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    0,
   78,
    OPC_CheckChild1Integer, 15,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate1,
    OPC_Scope, 32,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    31,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 9,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
                     MVT::v16i8, 3, 1, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 6, 7,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 8, 3, 4,
    0,
   0,
  83|128,3,
   OPC_RecordChild1,
   OPC_Scope, 77,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    13,
     OPC_CheckPatternPredicate, 42,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    28,
     OPC_CheckPatternPredicate7,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/8, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     11,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    12,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   69,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_Scope, 30,
     OPC_CheckPredicate6,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf32), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPatternPredicate, 11,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf32), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    31,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 1, 5,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPHP),
                     MVT::f64, 1, 6,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 7, 3, 4,
    0,
   59,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_Scope, 29,
     OPC_CheckPredicate6,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    22,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPHP),
                     MVT::f64, 1, 1,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 5, 3, 4,
    0,
   63,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 42,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    28,
     OPC_CheckPatternPredicate7,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/8, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     11,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    12,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   63,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 42,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVW4X), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    28,
     OPC_CheckPatternPredicate7,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/8, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     11,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    12,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   50,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_Scope, 28,
     OPC_CheckPatternPredicate7,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/8, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     11,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    12,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   76,
    OPC_CheckChild1Type, MVT::f128,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_Scope, 46,
     OPC_CheckPatternPredicate7,
     OPC_Scope, 21,
      OPC_CheckComplexPat, /*CP*/8, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     20,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     0,
    21,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 3, 4,
    0,
   0,
  34,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 0,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckPredicate4,
   OPC_CheckPredicate6,
   OPC_CheckPatternPredicate, 76,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, PPC::sub_64,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f64, 2, 1, 5,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 6, 3, 4,
  10|128,12,
   OPC_RecordChild1,
   OPC_Scope, 60|128,3,
    OPC_CheckChild1TypeI32,
    OPC_Scope, 65,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_Scope, 38,
      OPC_CheckPredicate, 8,
      OPC_Scope, 16,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate, 20,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTBpc), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 5,
      16,
       OPC_CheckPredicate0,
       OPC_CheckPatternPredicate, 20,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTHpc), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 5,
      0,
     16,
      OPC_CheckPredicate6,
      OPC_CheckPatternPredicate, 20,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTWpc), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 5,
     0,
    117|128,2,
     OPC_RecordChild2,
     OPC_Scope, 13|128,1,
      OPC_CheckPredicate4,
      OPC_Scope, 30,
       OPC_CheckPredicate, 8,
       OPC_Scope, 12,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat5, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STB), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       12,
        OPC_CheckPredicate0,
        OPC_CheckComplexPat5, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STH), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       0,
      12,
       OPC_CheckPredicate6,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STW), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      30,
       OPC_CheckPredicate, 8,
       OPC_Scope, 12,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STBX), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       12,
        OPC_CheckPredicate0,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STHX), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       0,
      12,
       OPC_CheckPredicate6,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::STWX), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      34,
       OPC_CheckPredicate, 8,
       OPC_Scope, 14,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate, 23,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTB), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       14,
        OPC_CheckPredicate0,
        OPC_CheckPatternPredicate, 23,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTH), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       0,
      14,
       OPC_CheckPredicate6,
       OPC_CheckPatternPredicate, 23,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTW), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      0,
     97|128,1,
      OPC_RecordChild3,
      OPC_Scope, 78,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate, 20,
       OPC_Scope, 35,
        OPC_CheckPredicate1,
        OPC_SwitchType , 14, MVT::i64,
         OPC_CheckPatternPredicate, 25,
         OPC_CheckComplexPat6, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STBU), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 3, 1, 4, 2,
        14, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_CheckComplexPat6, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STBU), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 3, 1, 4, 2,
        0,
       35,
        OPC_CheckPredicate0,
        OPC_SwitchType , 14, MVT::i64,
         OPC_CheckPatternPredicate, 25,
         OPC_CheckComplexPat6, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STHU), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 3, 1, 4, 2,
        14, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_CheckComplexPat6, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STHU), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 3, 1, 4, 2,
        0,
       0,
      37,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 20,
       OPC_SwitchType , 14, MVT::i64,
        OPC_CheckPatternPredicate, 25,
        OPC_CheckComplexPat6, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STWU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3, 1, 4, 2,
       14, MVT::i32,
        OPC_CheckPatternPredicate, 32,
        OPC_CheckComplexPat6, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STWU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3, 1, 4, 2,
       0,
      70,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate, 20,
       OPC_Scope, 31,
        OPC_CheckPredicate1,
        OPC_SwitchType , 12, MVT::i64,
         OPC_CheckPatternPredicate, 25,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STBUX), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 3, 1, 2, 3,
        12, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STBUX), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 3, 1, 2, 3,
        0,
       31,
        OPC_CheckPredicate0,
        OPC_SwitchType , 12, MVT::i64,
         OPC_CheckPatternPredicate, 25,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STHUX), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 3, 1, 2, 3,
        12, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STHUX), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 3, 1, 2, 3,
        0,
       0,
      33,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 20,
       OPC_SwitchType , 12, MVT::i64,
        OPC_CheckPatternPredicate, 25,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STWUX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3, 1, 2, 3,
       12, MVT::i32,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STWUX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3, 1, 2, 3,
       0,
      0,
     0,
    0,
   57|128,4,
    OPC_CheckChild1TypeI64,
    OPC_Scope, 82,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_Scope, 55,
      OPC_CheckPredicate, 8,
      OPC_Scope, 16,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate, 20,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTB8pc), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 5,
      16,
       OPC_CheckPredicate0,
       OPC_CheckPatternPredicate, 20,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTH8pc), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 5,
      16,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate, 20,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTW8pc), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 5,
      0,
     16,
      OPC_CheckPredicate6,
      OPC_CheckPatternPredicate, 20,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTDpc), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 5,
     0,
    97|128,3,
     OPC_RecordChild2,
     OPC_Scope, 51|128,1,
      OPC_CheckPredicate4,
      OPC_Scope, 82,
       OPC_CheckPredicate, 8,
       OPC_Scope, 12,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat5, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STB8), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       12,
        OPC_CheckPredicate0,
        OPC_CheckComplexPat5, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STH8), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       12,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat5, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STW8), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       12,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STBX8), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       12,
        OPC_CheckPredicate0,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STHX8), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       12,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STWX8), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       0,
      27,
       OPC_CheckPredicate6,
       OPC_Scope, 11,
        OPC_CheckComplexPat4, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STD), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       11,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STDX), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       0,
      49,
       OPC_CheckPredicate, 8,
       OPC_Scope, 14,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate, 23,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTB8), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       14,
        OPC_CheckPredicate0,
        OPC_CheckPatternPredicate, 23,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTH8), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       14,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate, 23,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTW8), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       0,
      14,
       OPC_CheckPredicate6,
       OPC_CheckPatternPredicate, 23,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTD), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      0,
     39|128,2,
      OPC_RecordChild3,
      OPC_Scope, 114,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate, 20,
       OPC_Scope, 35,
        OPC_CheckPredicate1,
        OPC_SwitchType , 14, MVT::i64,
         OPC_CheckPatternPredicate, 25,
         OPC_CheckComplexPat6, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STBU8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 3, 1, 4, 2,
        14, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_CheckComplexPat6, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STBU8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 3, 1, 4, 2,
        0,
       35,
        OPC_CheckPredicate0,
        OPC_SwitchType , 14, MVT::i64,
         OPC_CheckPatternPredicate, 25,
         OPC_CheckComplexPat6, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STHU8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 3, 1, 4, 2,
        14, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_CheckComplexPat6, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STHU8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 3, 1, 4, 2,
        0,
       35,
        OPC_CheckPredicate7,
        OPC_SwitchType , 14, MVT::i64,
         OPC_CheckPatternPredicate, 25,
         OPC_CheckComplexPat6, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STWU8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 3, 1, 4, 2,
        14, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_CheckComplexPat6, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STWU8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 3, 1, 4, 2,
        0,
       0,
      39,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 20,
       OPC_CheckPredicate, 37,
       OPC_SwitchType , 14, MVT::i64,
        OPC_CheckPatternPredicate, 25,
        OPC_CheckComplexPat6, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STDU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3, 1, 4, 2,
       14, MVT::i32,
        OPC_CheckPatternPredicate, 32,
        OPC_CheckComplexPat6, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STDU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3, 1, 4, 2,
       0,
      102,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate, 20,
       OPC_Scope, 31,
        OPC_CheckPredicate1,
        OPC_SwitchType , 12, MVT::i64,
         OPC_CheckPatternPredicate, 25,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STBUX8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 3, 1, 2, 3,
        12, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STBUX8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 3, 1, 2, 3,
        0,
       31,
        OPC_CheckPredicate0,
        OPC_SwitchType , 12, MVT::i64,
         OPC_CheckPatternPredicate, 25,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STHUX8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 3, 1, 2, 3,
        12, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STHUX8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 3, 1, 2, 3,
        0,
       31,
        OPC_CheckPredicate7,
        OPC_SwitchType , 12, MVT::i64,
         OPC_CheckPatternPredicate, 25,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STWUX8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 3, 1, 2, 3,
        12, MVT::i32,
         OPC_CheckPatternPredicate, 32,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo1, TARGET_VAL(PPC::STWUX8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 3, 1, 2, 3,
        0,
       0,
      33,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 20,
       OPC_SwitchType , 12, MVT::i64,
        OPC_CheckPatternPredicate, 25,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STDUX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3, 1, 2, 3,
       12, MVT::i32,
        OPC_CheckPatternPredicate, 32,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STDUX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3, 1, 2, 3,
       0,
      0,
     0,
    0,
   53|128,1,
    OPC_CheckChild1Type, MVT::f32,
    OPC_Scope, 23,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 48,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTFSpc), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 5,
    23|128,1,
     OPC_RecordChild2,
     OPC_Scope, 76,
      OPC_CheckPredicate4,
      OPC_CheckPredicate6,
      OPC_Scope, 27,
       OPC_CheckPatternPredicate1,
       OPC_Scope, 11,
        OPC_CheckComplexPat5, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STFS), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       11,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STFSX), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       0,
      29,
       OPC_CheckPatternPredicate5,
       OPC_Scope, 12,
        OPC_CheckComplexPat, /*CP*/10, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::SPESTW), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       12,
        OPC_CheckComplexPat, /*CP*/11, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::SPESTWX), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       0,
      13,
       OPC_CheckPatternPredicate, 49,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTFS), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      0,
     70,
      OPC_RecordChild3,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 20,
      OPC_SwitchType , 30, MVT::i64,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 25,
        OPC_CheckComplexPat6, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STFSU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3, 1, 4, 2,
       12,
        OPC_CheckPatternPredicate, 68,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STFSUX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3, 1, 2, 3,
       0,
      30, MVT::i32,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 32,
        OPC_CheckComplexPat6, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STFSU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3, 1, 4, 2,
       12,
        OPC_CheckPatternPredicate, 69,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STFSUX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3, 1, 2, 3,
       0,
      0,
     0,
    0,
   53|128,1,
    OPC_CheckChild1Type, MVT::f64,
    OPC_Scope, 23,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 48,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTFDpc), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 5,
    23|128,1,
     OPC_RecordChild2,
     OPC_Scope, 76,
      OPC_CheckPredicate4,
      OPC_CheckPredicate6,
      OPC_Scope, 27,
       OPC_CheckPatternPredicate1,
       OPC_Scope, 11,
        OPC_CheckComplexPat5, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STFD), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       11,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::STFDX), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       0,
      29,
       OPC_CheckPatternPredicate5,
       OPC_Scope, 12,
        OPC_CheckComplexPat, /*CP*/10, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::EVSTDD), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       12,
        OPC_CheckComplexPat, /*CP*/11, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(PPC::EVSTDDX), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 1, 3, 4,
       0,
      13,
       OPC_CheckPatternPredicate, 49,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTFD), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 1, 3, 4,
      0,
     70,
      OPC_RecordChild3,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 20,
      OPC_SwitchType , 30, MVT::i64,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 25,
        OPC_CheckComplexPat6, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STFDU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3, 1, 4, 2,
       12,
        OPC_CheckPatternPredicate, 68,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STFDUX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3, 1, 2, 3,
       0,
      30, MVT::i32,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 32,
        OPC_CheckComplexPat6, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STFDU), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3, 1, 4, 2,
       12,
        OPC_CheckPatternPredicate, 69,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(PPC::STFDUX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3, 1, 2, 3,
       0,
      0,
     0,
    0,
   44,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 23,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate, 36,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 5,
    15,
     OPC_RecordChild2,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STVX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   25,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 36,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 5,
   26,
    OPC_CheckChild1Type, 4|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 36,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 5,
   26,
    OPC_CheckChild1Type, 22|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 36,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 5,
   34,
    OPC_CheckChild1Type, MVT::f128,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckPredicate4,
    OPC_CheckPredicate6,
    OPC_CheckPatternPredicate, 36,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 7,
   0,
  0,
 36, TARGET_VAL(PPCISD::STXSIX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 14,
   OPC_CheckChild3Integer, 1,
   OPC_CheckPatternPredicate7,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBX), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 4,
  14,
   OPC_CheckChild3Integer, 2,
   OPC_CheckPatternPredicate7,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 4,
  0,
 17|128,11, TARGET_VAL(ISD::INTRINSIC_VOID),
  OPC_RecordNode,
  OPC_Scope, 17,
   OPC_CheckChild1Integer, 122|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVD2X),
                   3, 1, 3, 4,
  17,
   OPC_CheckChild1Integer, 3|128,92|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVW4X),
                   3, 1, 3, 4,
  48,
   OPC_CheckChild1Integer, 121|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 56,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVD2X),
                    3, 1, 3, 4,
   26,
    OPC_CheckPatternPredicate7,
    OPC_Scope, 11,
     OPC_CheckComplexPat, /*CP*/8, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXV),
                     3, 1, 3, 4,
    10,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVX),
                     3, 1, 3, 4,
    0,
   0,
  48,
   OPC_CheckChild1Integer, 2|128,92|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 42,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVW4X),
                    3, 1, 3, 4,
   26,
    OPC_CheckPatternPredicate7,
    OPC_Scope, 11,
     OPC_CheckComplexPat, /*CP*/8, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXV),
                     3, 1, 3, 4,
    10,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVX),
                     3, 1, 3, 4,
    0,
   0,
  32,
   OPC_CheckChild1Integer, 78|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 11,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSIWX),
                    3, 2, 3, 4,
   10,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STFIWX),
                    3, 2, 3, 4,
   0,
  19,
   OPC_CheckChild1Integer, 123|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate7,
   OPC_CheckComplexPat, /*CP*/9, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVL),
                   3, 1, 4, 3,
  19,
   OPC_CheckChild1Integer, 124|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate7,
   OPC_CheckComplexPat, /*CP*/9, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVLL),
                   3, 1, 4, 3,
  14,
   OPC_CheckChild1Integer, 120|128,89|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBA),
                   2, 2, 3,
  14,
   OPC_CheckChild1Integer, 125|128,89|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBI),
                   2, 2, 3,
  14,
   OPC_CheckChild1Integer, 126|128,89|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBST),
                   2, 2, 3,
  14,
   OPC_CheckChild1Integer, 6|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBZ),
                   2, 2, 3,
  14,
   OPC_CheckChild1Integer, 7|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBZL),
                   2, 2, 3,
  17,
   OPC_CheckChild1Integer, 0|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBT),
                   3, 4, 2, 3,
  17,
   OPC_CheckChild1Integer, 2|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBTST),
                   3, 4, 2, 3,
  17,
   OPC_CheckChild1Integer, 121|128,89|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBF),
                   3, 4, 2, 3,
  17,
   OPC_CheckChild1Integer, 44|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::ICBT),
                   3, 4, 2, 3,
  16,
   OPC_CheckChild1Integer, 1|128,90|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBT),
                   3, 2, 3, 4,
  16,
   OPC_CheckChild1Integer, 3|128,90|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBTST),
                   3, 2, 3, 4,
  17,
   OPC_CheckChild1Integer, 64|128,87|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STVEBX),
                   3, 1, 3, 4,
  17,
   OPC_CheckChild1Integer, 65|128,87|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STVEHX),
                   3, 1, 3, 4,
  17,
   OPC_CheckChild1Integer, 66|128,87|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STVEWX),
                   3, 1, 3, 4,
  17,
   OPC_CheckChild1Integer, 67|128,87|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STVX),
                   3, 1, 3, 4,
  17,
   OPC_CheckChild1Integer, 68|128,87|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STVXL),
                   3, 1, 3, 4,
  18,
   OPC_CheckChild1Integer, 82|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STDBRX),
                   3, 1, 3, 4,
  49,
   OPC_CheckChild1Integer, 125|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate, 50,
    OPC_Scope, 11,
     OPC_CheckComplexPat, /*CP*/8, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVP),
                     3, 1, 3, 4,
    10,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVPX),
                     3, 1, 3, 4,
    0,
   12,
    OPC_CheckPatternPredicate, 70,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::PSTXVP),
                    3, 1, 3, 4,
   0,
  17,
   OPC_CheckChild1Integer, 122|128,89|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBF),
                   3, 4, 2, 3,
  17,
   OPC_CheckChild1Integer, 123|128,89|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 3,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBF),
                   3, 4, 2, 3,
  18,
   OPC_CheckChild1Integer, 124|128,89|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 4,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBF),
                   3, 4, 2, 3,
  18,
   OPC_CheckChild1Integer, 127|128,89|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 6,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBF),
                   3, 4, 2, 3,
  16,
   OPC_CheckChild1Integer, 80|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STHBRX),
                   3, 1, 3, 4,
  16,
   OPC_CheckChild1Integer, 81|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STWBRX),
                   3, 1, 3, 4,
  17,
   OPC_CheckChild1Integer, 4|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 16,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBTST),
                   3, 4, 2, 3,
  17,
   OPC_CheckChild1Integer, 5|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 16,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBT),
                   3, 4, 2, 3,
  47,
   OPC_CheckChild1Integer, 84|128,89|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_Scope, 18,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::BUILD_QUADWORD),
                    119|128,1, 2, 1, 2,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STQ),
                    3, 6, 4, 5,
   18,
    OPC_CheckComplexPat0, /*#*/3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::BUILD_QUADWORD),
                    119|128,1, 2, 1, 2,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STQX_PSEUDO),
                    3, 6, 4, 5,
   0,
  18,
   OPC_CheckChild1Integer, 0|128,92|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat, /*CP*/9, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVRL),
                   3, 1, 4, 3,
  18,
   OPC_CheckChild1Integer, 1|128,92|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat, /*CP*/9, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVRLL),
                   3, 1, 4, 3,
  18,
   OPC_CheckChild1Integer, 126|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat, /*CP*/9, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVPRL),
                   3, 1, 4, 3,
  18,
   OPC_CheckChild1Integer, 127|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat, /*CP*/9, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVPRLL),
                   3, 1, 4, 3,
  23,
   OPC_CheckChild1Integer, 47|128,91|128,0,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTFSFIb),
                   2, 1, 2,
  17,
   OPC_CheckChild1Integer, 44|128,91|128,0,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTFSB0),
                   1, 1,
  17,
   OPC_CheckChild1Integer, 45|128,91|128,0,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTFSB1),
                   1, 1,
  19,
   OPC_CheckChild1Integer, 46|128,91|128,0,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTFSFb),
                   2, 1, 2,
  18,
   OPC_CheckChild1Integer, 44|128,87|128,0,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate3,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSS),
                   1, 2,
  45,
   OPC_CheckChild1Integer, 46|128,87|128,0,
   OPC_RecordChild2,
   OPC_Scope, 18,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DST),
                    3, 4, 1, 2,
   18,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DST64),
                    3, 4, 1, 2,
   0,
  45,
   OPC_CheckChild1Integer, 49|128,87|128,0,
   OPC_RecordChild2,
   OPC_Scope, 18,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSTT),
                    3, 4, 1, 2,
   18,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSTT64),
                    3, 4, 1, 2,
   0,
  45,
   OPC_CheckChild1Integer, 47|128,87|128,0,
   OPC_RecordChild2,
   OPC_Scope, 18,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSTST),
                    3, 4, 1, 2,
   18,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSTST64),
                    3, 4, 1, 2,
   0,
  45,
   OPC_CheckChild1Integer, 48|128,87|128,0,
   OPC_RecordChild2,
   OPC_Scope, 18,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSTSTT),
                    3, 4, 1, 2,
   18,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSTSTT64),
                    3, 4, 1, 2,
   0,
  31,
   OPC_CheckChild1Integer, 49|128,91|128,0,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 8,
    OPC_CheckChild3TypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTSPR8),
                    2, 1, 2,
   8,
    OPC_CheckChild3TypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTSPR),
                    2, 1, 2,
   0,
  9,
   OPC_CheckChild1Integer, 13|128,90|128,0,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::PseudoEIEIO),
                   0,
  25,
   OPC_CheckChild1Integer, 85|128,91|128,0,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::SYNC),
                    1, 1,
   7,
    OPC_CheckPatternPredicate, 52,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MSYNC),
                    0,
   0,
  25,
   OPC_CheckChild1Integer, 48|128,90|128,0,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::SYNC),
                    1, 1,
   7,
    OPC_CheckPatternPredicate, 52,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MSYNC),
                    0,
   0,
  25,
   OPC_CheckChild1Integer, 57|128,90|128,0,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::SYNC),
                    1, 1,
   7,
    OPC_CheckPatternPredicate, 52,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MSYNC),
                    0,
   0,
  25,
   OPC_CheckChild1Integer, 47|128,90|128,0,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::SYNC),
                    1, 1,
   7,
    OPC_CheckPatternPredicate, 52,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MSYNC),
                    0,
   0,
  9,
   OPC_CheckChild1Integer, 46|128,90|128,0,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::PseudoEIEIO),
                   0,
  24,
   OPC_CheckChild1Integer, 79|128,2,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckChild2TypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MTCTRloop),
                    MVT::i32, 1, 1,
   8,
    OPC_CheckChild2TypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MTCTR8loop),
                    MVT::i64, 1, 1,
   0,
  9,
   OPC_CheckChild1Integer, 24|128,90|128,0,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::FENCE),
                   0,
  12,
   OPC_CheckChild1Integer, 58|128,87|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTVSCR),
                   1, 1,
  22,
   OPC_CheckChild1Integer, 45|128,87|128,0,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate, 77,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::NOP),
                    0,
   7,
    OPC_CheckPatternPredicate, 78,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSSALL),
                    0,
   0,
  17,
   OPC_CheckChild1Integer, 68|128,91|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 2|128,1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTSPR8),
                   2, 2, 1,
  17,
   OPC_CheckChild1Integer, 69|128,91|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 3|128,1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTSPR8),
                   2, 2, 1,
  17,
   OPC_CheckChild1Integer, 70|128,91|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTSPR8),
                   2, 2, 1,
  17,
   OPC_CheckChild1Integer, 71|128,91|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 1|128,1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTSPR8),
                   2, 2, 1,
  9,
   OPC_CheckChild1Integer, 49|128,90|128,0,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::ISYNC),
                   0,
  14,
   OPC_CheckChild1Integer, 48|128,91|128,0,
   OPC_RecordChild2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTMSR),
                   2, 1, 2,
  0,
 122|128,2, TARGET_VAL(PPCISD::ST_VSR_SCAL_INT),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 20|128,1,
   OPC_CheckChild1Type, MVT::f64,
   OPC_Scope, 119,
    OPC_RecordChild2,
    OPC_Scope, 27,
     OPC_CheckChild3Integer, 4,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_Scope, 8,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     8,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    57,
     OPC_CheckChild3Integer, 8,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSD), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXSD), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSDX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPatternPredicate, 37,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSDX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    14,
     OPC_CheckChild3Integer, 2,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    14,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   23,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild3Integer, 8,
    OPC_CheckPatternPredicate, 36,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXSDpc), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 5,
   0,
  93|128,1,
   OPC_CheckChild1Type, MVT::f128,
   OPC_Scope, 54|128,1,
    OPC_RecordChild2,
    OPC_Scope, 36,
     OPC_CheckChild3Integer, 4,
     OPC_CheckPatternPredicate, 11,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 1, 5,
     OPC_Scope, 8,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     8,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIWX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     0,
    93,
     OPC_CheckChild3Integer, 8,
     OPC_Scope, 21,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::VFRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSD), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     21,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::VFRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXSD), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     21,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSDX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     22,
      OPC_CheckPatternPredicate, 37,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSDX), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     0,
    23,
     OPC_CheckChild3Integer, 2,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 3, 4,
    23,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBX), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 3, 4,
    0,
   32,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild3Integer, 8,
    OPC_CheckPatternPredicate, 36,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, PPC::VFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 1, 5,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXSDpc), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 3, 7,
   0,
  0,
 33, TARGET_VAL(PPCISD::STFIWX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 13,
   OPC_CheckPatternPredicate, 11,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 4,
  12,
   OPC_CheckPatternPredicate1,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STFIWX), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 4,
  0,
 125, TARGET_VAL(PPCISD::STORE_VEC_BE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 17,
   OPC_CheckChild1Type, 22|128,1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 13,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 4,
  17,
   OPC_CheckChild1Type, 4|128,1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 13,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVW4X), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 4,
  16,
   OPC_CheckChild1Type, MVT::v2i64,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 13,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 4,
  16,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 13,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVW4X), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 1, 3, 4,
  24,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate6,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 1, 5,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVH8X), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 6, 3, 4,
  24,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate6,
   OPC_CheckComplexPat0, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 1, 5,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVB16X), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 6, 3, 4,
  0,
 17, TARGET_VAL(PPCISD::STXVD2X),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate, 71,
  OPC_CheckComplexPat0, /*#*/2,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                  3, 1, 3, 4,
 93|128,127, TARGET_VAL(ISD::ANY_EXTEND),
  OPC_Scope, 117|128,126,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 56|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckTypeI32,
    OPC_Scope, 21|128,3,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 42,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
                       MVT::i64, 2, 2, 0,
      17,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
                       MVT::i64, 2, 2, 0,
      0,
     42,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitIntegerI64, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
                       MVT::i64, 2, 2, 0,
      17,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI64, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
                       MVT::i64, 2, 2, 0,
      0,
     42,
      OPC_CheckChild1Integer, 2,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitIntegerI64, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
                       MVT::i64, 2, 2, 0,
      17,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI64, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
                       MVT::i64, 2, 2, 0,
      0,
     42,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitIntegerI64, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
                       MVT::i64, 2, 2, 0,
      17,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI64, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
                       MVT::i64, 2, 2, 0,
      0,
     42,
      OPC_CheckChild1Integer, 4,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitIntegerI64, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
                       MVT::i64, 2, 2, 0,
      17,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI64, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
                       MVT::i64, 2, 2, 0,
      0,
     42,
      OPC_CheckChild1Integer, 5,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitIntegerI64, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
                       MVT::i64, 2, 2, 0,
      17,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI64, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
                       MVT::i64, 2, 2, 0,
      0,
     42,
      OPC_CheckChild1Integer, 6,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitIntegerI64, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
                       MVT::i64, 2, 2, 0,
      17,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI64, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
                       MVT::i64, 2, 2, 0,
      0,
     42,
      OPC_CheckChild1Integer, 7,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitIntegerI64, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
                       MVT::i64, 2, 2, 0,
      17,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI64, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
                       MVT::i64, 2, 2, 0,
      0,
     56,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_Scope, 24,
       OPC_CheckPatternPredicate, 15,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 28,
       OPC_EmitIntegerI32, 30,
       OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                       MVT::i64, 4, 1, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
                       MVT::i64, 2, 5, 0,
      24,
       OPC_CheckPatternPredicate, 16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 28,
       OPC_EmitIntegerI32, 30,
       OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                       MVT::i64, 4, 1, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
                       MVT::i64, 2, 5, 0,
      0,
     0,
    28,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUBLX),
                      MVT::i64, 2, 1, 0,
     9,
      OPC_CheckPatternPredicate, 16,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUBRX),
                      MVT::i64, 2, 1, 0,
     0,
    0,
   2|128,82, TARGET_VAL(ISD::SETCC),
    OPC_Scope, 0|128,6,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 30, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitIntegerI32, 32,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, 31,
       OPC_EmitIntegerI32, 31,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
                       MVT::i32, 4, 0, 3, 5, 6,
      30, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, 64|128,0,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, 63,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
                       MVT::i64, 3, 0, 3, 5,
      0,
     76,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 30, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitIntegerI32, 32,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 0, 2,
       OPC_EmitIntegerI32, 31,
       OPC_EmitIntegerI32, 31,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
                       MVT::i32, 4, 1, 3, 5, 6,
      30, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, 64|128,0,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 0, 2,
       OPC_EmitIntegerI32, 63,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
                       MVT::i64, 3, 1, 3, 5,
      0,
     0|128,1,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 75, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_Scope, 34,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitIntegerI32, 64|128,0,
        OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                        MVT::i32, MVT::i32, 2, 1, 2,
        OPC_EmitIntegerI32, 63,
        OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
                        MVT::i64, 3, 0, 3, 5,
        OPC_EmitIntegerI32, PPC::sub_32,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 6, 7,
       34,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                        MVT::i64, 2, 0, 0,
        OPC_EmitIntegerI32, 64|128,0,
        OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                        MVT::i32, MVT::i32, 2, 1, 3,
        OPC_EmitIntegerI32, 63,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
                        MVT::i64, 3, 2, 4, 6,
       0,
      37, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                       MVT::i32, 2, 0, 0,
       OPC_EmitIntegerI32, 32,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 1, 3,
       OPC_EmitIntegerI32, 31,
       OPC_EmitIntegerI32, 31,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
                       MVT::i32, 4, 2, 4, 6, 7,
      0,
     0|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 75, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_Scope, 34,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitIntegerI32, 64|128,0,
        OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                        MVT::i32, MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, 63,
        OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
                        MVT::i64, 3, 1, 3, 5,
        OPC_EmitIntegerI32, PPC::sub_32,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 6, 7,
       34,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                        MVT::i64, 2, 1, 1,
        OPC_EmitIntegerI32, 64|128,0,
        OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                        MVT::i32, MVT::i32, 2, 0, 3,
        OPC_EmitIntegerI32, 63,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
                        MVT::i64, 3, 2, 4, 6,
       0,
      37, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                       MVT::i32, 2, 1, 1,
       OPC_EmitIntegerI32, 32,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 0, 3,
       OPC_EmitIntegerI32, 31,
       OPC_EmitIntegerI32, 31,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
                       MVT::i32, 4, 2, 4, 6, 7,
      0,
     107,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 47, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i64, 0,
       OPC_EmitIntegerI32, 32,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 1, 3,
       OPC_EmitIntegerI32, 31,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
                       MVT::i32, 4, 0, 4, 6, 7,
       OPC_EmitIntegerI32, PPC::sub_32,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::i64, 3, 2, 8, 9,
      44, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                       MVT::i64, 2, 0, 0,
       OPC_EmitIntegerI32, 64|128,0,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 1, 3,
       OPC_EmitIntegerI32, 63,
       OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
                       MVT::i64, 3, 2, 4, 6,
       OPC_EmitIntegerI32, PPC::sub_32,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 7, 8,
      0,
     107,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 47, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i64, 0,
       OPC_EmitIntegerI32, 32,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 0, 3,
       OPC_EmitIntegerI32, 31,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
                       MVT::i32, 4, 1, 4, 6, 7,
       OPC_EmitIntegerI32, PPC::sub_32,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::i64, 3, 2, 8, 9,
      44, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                       MVT::i64, 2, 1, 1,
       OPC_EmitIntegerI32, 64|128,0,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 0, 3,
       OPC_EmitIntegerI32, 63,
       OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
                       MVT::i64, 3, 2, 4, 6,
       OPC_EmitIntegerI32, PPC::sub_32,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 7, 8,
      0,
     65,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckType, MVT::i1,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                      MVT::i32, 2, 0, 0,
      OPC_EmitIntegerI32, 32,
      OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                      MVT::i32, MVT::i32, 2, 1, 4,
      OPC_EmitIntegerI32, 31,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
                      MVT::i32, 4, 3, 5, 7, 8,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 9, 10,
     65,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckType, MVT::i1,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                      MVT::i32, 2, 1, 1,
      OPC_EmitIntegerI32, 32,
      OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                      MVT::i32, MVT::i32, 2, 0, 4,
      OPC_EmitIntegerI32, 31,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
                      MVT::i32, 4, 3, 5, 7, 8,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 9, 10,
     0,
    124|128,75,
     OPC_RecordChild0,
     OPC_Scope, 80|128,21,
      OPC_CheckChild0TypeI32,
      OPC_Scope, 84|128,3,
       OPC_CheckChild1Integer, 0,
       OPC_Scope, 57,
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 17,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 0, 1, 2, 3,
        34,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 0, 2, 3, 4,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 5, 6,
        0,
       69,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_Scope, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
                         MVT::i32, 1, 0,
         OPC_EmitIntegerI32, 27,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 1, 2, 3, 4,
        40,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
                         MVT::i32, 1, 0,
         OPC_EmitIntegerI32, 27,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 2, 3, 4, 5,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 6, 7,
        0,
       71,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                         MVT::i32, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 1, 2, 3, 4,
        41,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                         MVT::i32, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 2, 3, 4, 5,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 6, 7,
        0,
       83,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 30,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ANDC),
                         MVT::i32, 2, 1, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 2, 3, 4, 5,
        47,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ANDC),
                         MVT::i32, 2, 2, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 3, 4, 5, 6,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 7, 8,
        0,
       83,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 30,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ORC),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 2, 3, 4, 5,
        47,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ORC),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 3, 4, 5, 6,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 7, 8,
        0,
       95,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                         MVT::i32, 2, 1, 2,
         OPC_EmitIntegerI32, 27,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 3, 4, 5, 6,
        53,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                         MVT::i32, 2, 2, 3,
         OPC_EmitIntegerI32, 27,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 4, 5, 6, 7,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 8, 9,
        0,
       0,
      58|128,2,
       OPC_CheckChild1Integer, 127,
       OPC_Scope, 57,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 17,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 0, 1, 2, 3,
        34,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 0, 2, 3, 4,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 5, 6,
        0,
       71,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                         MVT::i32, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 1, 2, 3, 4,
        41,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                         MVT::i32, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 2, 3, 4, 5,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 6, 7,
        0,
       89,
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 33,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
                         MVT::i32, 2, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 3, 4, 5, 6,
        50,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                         MVT::i32, 2, 0, 3,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 4, 5, 6, 7,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 8, 9,
        0,
       89,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 33,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
                         MVT::i32, 2, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::NAND),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 3, 4, 5, 6,
        50,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitNode1None, TARGET_VAL(PPC::NAND),
                         MVT::i32, 2, 0, 3,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 4, 5, 6, 7,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 8, 9,
        0,
       0,
      57|128,15,
       OPC_RecordChild1,
       OPC_Scope, 60|128,9,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_Scope, 62,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        63,
         OPC_CheckPredicate, 10,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        62,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        127,
         OPC_CheckPredicate, 10,
         OPC_MoveParent,
         OPC_Scope, 60,
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 26,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                           MVT::i32, 1, 5,
          28,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                           MVT::i64, 1, 5,
          0,
         60,
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 26,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                           MVT::i32, 1, 5,
          28,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                           MVT::i64, 1, 5,
          0,
         0,
        36|128,1,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_Scope, 60,
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 26,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                           MVT::i32, 1, 5,
          28,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                           MVT::i64, 1, 5,
          0,
         98,
          OPC_CheckChild2CondCode, ISD::SETUGE,
          OPC_Scope, 45,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_lt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI32, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 6,
           OPC_EmitIntegerI32, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                           MVT::i32, 3, 5, 7, 9,
          47,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_lt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 6,
           OPC_EmitIntegerI64, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                           MVT::i64, 3, 5, 7, 9,
          0,
         0,
        101,
         OPC_CheckPredicate, 10,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        100,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        75|128,1,
         OPC_CheckPredicate, 10,
         OPC_MoveParent,
         OPC_Scope, 98,
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 45,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI32, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 6,
           OPC_EmitIntegerI32, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                           MVT::i32, 3, 5, 7, 9,
          47,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 6,
           OPC_EmitIntegerI64, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                           MVT::i64, 3, 5, 7, 9,
          0,
         98,
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 45,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI32, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 6,
           OPC_EmitIntegerI32, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                           MVT::i32, 3, 5, 7, 9,
          47,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 6,
           OPC_EmitIntegerI64, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                           MVT::i64, 3, 5, 7, 9,
          0,
         0,
        100,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        83|128,1,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 40,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
                          MVT::i32, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 9,
         42,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
                          MVT::i32, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 9,
         59,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
                          MVT::i32, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 10,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 12,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 9, 11, 13,
         61,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
                          MVT::i32, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 10,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 12,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 9, 11, 13,
         0,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETULE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       0,
      0,
     96|128,20,
      OPC_CheckChild0TypeI64,
      OPC_Scope, 12|128,3,
       OPC_CheckChild1Integer, 0,
       OPC_Scope, 45,
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 16,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 0, 1, 2,
        23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 0, 1, 2,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 3, 4,
        0,
       57,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_Scope, 22,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
                         MVT::i64, 1, 0,
         OPC_EmitIntegerI32, 58,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 1, 2, 3,
        29,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
                         MVT::i64, 1, 0,
         OPC_EmitIntegerI32, 58,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 1, 2, 3,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 4, 5,
        0,
       59,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 23,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                         MVT::i64, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 1, 2, 3,
        30,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                         MVT::i64, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 1, 2, 3,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 4, 5,
        0,
       71,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 29,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
                         MVT::i64, 2, 1, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 2, 3, 4,
        36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
                         MVT::i64, 2, 1, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 2, 3, 4,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 5, 6,
        0,
       71,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 29,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ORC8),
                         MVT::i64, 2, 0, 1,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 2, 3, 4,
        36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ORC8),
                         MVT::i64, 2, 0, 1,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 2, 3, 4,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 5, 6,
        0,
       83,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 35,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                         MVT::i64, 2, 1, 2,
         OPC_EmitIntegerI32, 58,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 3, 4, 5,
        42,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                         MVT::i64, 2, 1, 2,
         OPC_EmitIntegerI32, 58,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 3, 4, 5,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 6, 7,
        0,
       0,
      10|128,2,
       OPC_CheckChild1Integer, 127,
       OPC_Scope, 45,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 16,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 0, 1, 2,
        23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 0, 1, 2,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 3, 4,
        0,
       59,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 23,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                         MVT::i64, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 1, 2, 3,
        30,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                         MVT::i64, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 1, 2, 3,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 4, 5,
        0,
       77,
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 32,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
                         MVT::i64, 2, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                         MVT::i64, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 3, 4, 5,
        39,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
                         MVT::i64, 2, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                         MVT::i64, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 3, 4, 5,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 6, 7,
        0,
       77,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 32,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
                         MVT::i64, 2, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::NAND8),
                         MVT::i64, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 3, 4, 5,
        39,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
                         MVT::i64, 2, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::NAND8),
                         MVT::i64, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 3, 4, 5,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 6, 7,
        0,
       0,
      65|128,15,
       OPC_RecordChild1,
       OPC_Scope, 68|128,9,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_Scope, 62,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        63,
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        62,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        127,
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_Scope, 60,
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 26,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                           MVT::i32, 1, 5,
          28,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                           MVT::i64, 1, 5,
          0,
         60,
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 26,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                           MVT::i32, 1, 5,
          28,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                           MVT::i64, 1, 5,
          0,
         0,
        62,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        91,
         OPC_CheckPredicate, 21,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 40,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
                          MVT::i64, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 9,
         42,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
                          MVT::i64, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 9,
         0,
        100,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        101,
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        100,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        75|128,1,
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_Scope, 98,
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 45,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI32, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 6,
           OPC_EmitIntegerI32, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                           MVT::i32, 3, 5, 7, 9,
          47,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 6,
           OPC_EmitIntegerI64, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                           MVT::i64, 3, 5, 7, 9,
          0,
         98,
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 45,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI32, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 6,
           OPC_EmitIntegerI32, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                           MVT::i32, 3, 5, 7, 9,
          47,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 6,
           OPC_EmitIntegerI64, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                           MVT::i64, 3, 5, 7, 9,
          0,
         0,
        100,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        1|128,1,
         OPC_CheckPredicate, 21,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 59,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
                          MVT::i64, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 10,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 12,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 9, 11, 13,
         61,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
                          MVT::i64, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 10,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 12,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 9, 11, 13,
         0,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETULE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       0,
      0,
     73|128,12,
      OPC_CheckChild0Type, MVT::f32,
      OPC_RecordChild1,
      OPC_Scope, 112|128,1,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETUNE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETO,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      0,
     73|128,12,
      OPC_CheckChild0Type, MVT::f64,
      OPC_RecordChild1,
      OPC_Scope, 112|128,1,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETUNE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETO,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      0,
     45|128,8,
      OPC_CheckChild0Type, MVT::f128,
      OPC_RecordChild1,
      OPC_Scope, 22|128,1,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETUNE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETO,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      0,
     0,
    0,
   38|128,16, TARGET_VAL(ISD::STRICT_FSETCC),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 52|128,5,
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 97,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    52|128,5,
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 97,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    52|128,5,
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 97,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    0,
   2|128,25, TARGET_VAL(ISD::STRICT_FSETCCS),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 98|128,9,
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 61|128,1,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    98|128,9,
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 61|128,1,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    52|128,5,
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 97,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    0,
   0,
  99,
   OPC_RecordChild0,
   OPC_SwitchType , 35, MVT::i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBC),
                     MVT::i32, 1, 0,
    24,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                     MVT::i32, 1, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                     MVT::i32, 1, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                     MVT::i32, 3, 0, 2, 4,
    0,
   57, MVT::i64,
    OPC_Scope, 37,
     OPC_CheckChild0Type, MVT::i1,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBC8),
                      MVT::i64, 1, 0,
     24,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                      MVT::i64, 3, 0, 2, 4,
     0,
    16,
     OPC_CheckChild0TypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 1, 0, 2,
    0,
   0,
  0,
 110|128,126, TARGET_VAL(ISD::ZERO_EXTEND),
  OPC_Scope, 122|128,125,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 27|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckTypeI32,
    OPC_Scope, 42,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWLX),
                      MVT::i64, 2, 2, 0,
     17,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWRX),
                      MVT::i64, 2, 2, 0,
     0,
    66,
     OPC_CheckChild1Integer, 2,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI64, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWLX),
                      MVT::i64, 2, 2, 0,
     41,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
                      MVT::i32, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 1, 6, 7,
     0,
    42,
     OPC_CheckChild1Integer, 3,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI64, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWLX),
                      MVT::i64, 2, 2, 0,
     17,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI64, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWRX),
                      MVT::i64, 2, 2, 0,
     0,
    66,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWRX),
                      MVT::i64, 2, 2, 0,
     41,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
                      MVT::i32, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 1, 6, 7,
     0,
    56,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 24,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 28,
      OPC_EmitIntegerI32, 29,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                      MVT::i64, 4, 1, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWLX),
                      MVT::i64, 2, 5, 0,
     24,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 28,
      OPC_EmitIntegerI32, 29,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                      MVT::i64, 4, 1, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWRX),
                      MVT::i64, 2, 5, 0,
     0,
    0,
   2|128,82, TARGET_VAL(ISD::SETCC),
    OPC_Scope, 0|128,6,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 30, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitIntegerI32, 32,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, 31,
       OPC_EmitIntegerI32, 31,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
                       MVT::i32, 4, 0, 3, 5, 6,
      30, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, 64|128,0,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, 63,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
                       MVT::i64, 3, 0, 3, 5,
      0,
     76,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 30, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitIntegerI32, 32,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 0, 2,
       OPC_EmitIntegerI32, 31,
       OPC_EmitIntegerI32, 31,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
                       MVT::i32, 4, 1, 3, 5, 6,
      30, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, 64|128,0,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 0, 2,
       OPC_EmitIntegerI32, 63,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
                       MVT::i64, 3, 1, 3, 5,
      0,
     0|128,1,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 75, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_Scope, 34,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitIntegerI32, 64|128,0,
        OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                        MVT::i32, MVT::i32, 2, 1, 2,
        OPC_EmitIntegerI32, 63,
        OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
                        MVT::i64, 3, 0, 3, 5,
        OPC_EmitIntegerI32, PPC::sub_32,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 6, 7,
       34,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                        MVT::i64, 2, 0, 0,
        OPC_EmitIntegerI32, 64|128,0,
        OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                        MVT::i32, MVT::i32, 2, 1, 3,
        OPC_EmitIntegerI32, 63,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
                        MVT::i64, 3, 2, 4, 6,
       0,
      37, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                       MVT::i32, 2, 0, 0,
       OPC_EmitIntegerI32, 32,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 1, 3,
       OPC_EmitIntegerI32, 31,
       OPC_EmitIntegerI32, 31,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
                       MVT::i32, 4, 2, 4, 6, 7,
      0,
     0|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 75, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_Scope, 34,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitIntegerI32, 64|128,0,
        OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                        MVT::i32, MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, 63,
        OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
                        MVT::i64, 3, 1, 3, 5,
        OPC_EmitIntegerI32, PPC::sub_32,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 6, 7,
       34,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                        MVT::i64, 2, 1, 1,
        OPC_EmitIntegerI32, 64|128,0,
        OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                        MVT::i32, MVT::i32, 2, 0, 3,
        OPC_EmitIntegerI32, 63,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
                        MVT::i64, 3, 2, 4, 6,
       0,
      37, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                       MVT::i32, 2, 1, 1,
       OPC_EmitIntegerI32, 32,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 0, 3,
       OPC_EmitIntegerI32, 31,
       OPC_EmitIntegerI32, 31,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
                       MVT::i32, 4, 2, 4, 6, 7,
      0,
     107,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 47, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i64, 0,
       OPC_EmitIntegerI32, 32,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 1, 3,
       OPC_EmitIntegerI32, 31,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
                       MVT::i32, 4, 0, 4, 6, 7,
       OPC_EmitIntegerI32, PPC::sub_32,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::i64, 3, 2, 8, 9,
      44, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                       MVT::i64, 2, 0, 0,
       OPC_EmitIntegerI32, 64|128,0,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 1, 3,
       OPC_EmitIntegerI32, 63,
       OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
                       MVT::i64, 3, 2, 4, 6,
       OPC_EmitIntegerI32, PPC::sub_32,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 7, 8,
      0,
     107,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 47, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i64, 0,
       OPC_EmitIntegerI32, 32,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 0, 3,
       OPC_EmitIntegerI32, 31,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
                       MVT::i32, 4, 1, 4, 6, 7,
       OPC_EmitIntegerI32, PPC::sub_32,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::i64, 3, 2, 8, 9,
      44, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                       MVT::i64, 2, 1, 1,
       OPC_EmitIntegerI32, 64|128,0,
       OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                       MVT::i32, MVT::i32, 2, 0, 3,
       OPC_EmitIntegerI32, 63,
       OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
                       MVT::i64, 3, 2, 4, 6,
       OPC_EmitIntegerI32, PPC::sub_32,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 7, 8,
      0,
     65,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckType, MVT::i1,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                      MVT::i32, 2, 0, 0,
      OPC_EmitIntegerI32, 32,
      OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                      MVT::i32, MVT::i32, 2, 1, 4,
      OPC_EmitIntegerI32, 31,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
                      MVT::i32, 4, 3, 5, 7, 8,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 9, 10,
     65,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckType, MVT::i1,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                      MVT::i32, 2, 1, 1,
      OPC_EmitIntegerI32, 32,
      OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
                      MVT::i32, MVT::i32, 2, 0, 4,
      OPC_EmitIntegerI32, 31,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
                      MVT::i32, 4, 3, 5, 7, 8,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 9, 10,
     0,
    124|128,75,
     OPC_RecordChild0,
     OPC_Scope, 80|128,21,
      OPC_CheckChild0TypeI32,
      OPC_Scope, 84|128,3,
       OPC_CheckChild1Integer, 0,
       OPC_Scope, 57,
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 17,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 0, 1, 2, 3,
        34,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 0, 2, 3, 4,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 5, 6,
        0,
       69,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_Scope, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
                         MVT::i32, 1, 0,
         OPC_EmitIntegerI32, 27,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 1, 2, 3, 4,
        40,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
                         MVT::i32, 1, 0,
         OPC_EmitIntegerI32, 27,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 2, 3, 4, 5,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 6, 7,
        0,
       71,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                         MVT::i32, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 1, 2, 3, 4,
        41,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                         MVT::i32, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 2, 3, 4, 5,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 6, 7,
        0,
       83,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 30,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ANDC),
                         MVT::i32, 2, 1, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 2, 3, 4, 5,
        47,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ANDC),
                         MVT::i32, 2, 2, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 3, 4, 5, 6,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 7, 8,
        0,
       83,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 30,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ORC),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 2, 3, 4, 5,
        47,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ORC),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 3, 4, 5, 6,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 7, 8,
        0,
       95,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                         MVT::i32, 2, 1, 2,
         OPC_EmitIntegerI32, 27,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 3, 4, 5, 6,
        53,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
                         MVT::i32, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                         MVT::i32, 2, 2, 3,
         OPC_EmitIntegerI32, 27,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 4, 5, 6, 7,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 8, 9,
        0,
       0,
      58|128,2,
       OPC_CheckChild1Integer, 127,
       OPC_Scope, 57,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 17,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 0, 1, 2, 3,
        34,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 0, 2, 3, 4,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 5, 6,
        0,
       71,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                         MVT::i32, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 1, 2, 3, 4,
        41,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
                         MVT::i32, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 2, 3, 4, 5,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 6, 7,
        0,
       89,
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 33,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
                         MVT::i32, 2, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 3, 4, 5, 6,
        50,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                         MVT::i32, 2, 0, 3,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 4, 5, 6, 7,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 8, 9,
        0,
       89,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 33,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
                         MVT::i32, 2, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::NAND),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 3, 4, 5, 6,
        50,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::i64, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitNode1None, TARGET_VAL(PPC::NAND),
                         MVT::i32, 2, 0, 3,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 31,
         OPC_EmitIntegerI32, 31,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                         MVT::i32, 4, 4, 5, 6, 7,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::i64, 3, 1, 8, 9,
        0,
       0,
      57|128,15,
       OPC_RecordChild1,
       OPC_Scope, 60|128,9,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_Scope, 62,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        63,
         OPC_CheckPredicate, 10,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        62,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        127,
         OPC_CheckPredicate, 10,
         OPC_MoveParent,
         OPC_Scope, 60,
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 26,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                           MVT::i32, 1, 5,
          28,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                           MVT::i64, 1, 5,
          0,
         60,
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 26,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                           MVT::i32, 1, 5,
          28,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                           MVT::i64, 1, 5,
          0,
         0,
        36|128,1,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_Scope, 60,
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 26,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                           MVT::i32, 1, 5,
          28,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                           MVT::i64, 1, 5,
          0,
         98,
          OPC_CheckChild2CondCode, ISD::SETUGE,
          OPC_Scope, 45,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_lt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI32, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 6,
           OPC_EmitIntegerI32, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                           MVT::i32, 3, 5, 7, 9,
          47,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_lt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 6,
           OPC_EmitIntegerI64, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                           MVT::i64, 3, 5, 7, 9,
          0,
         0,
        101,
         OPC_CheckPredicate, 10,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        100,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        75|128,1,
         OPC_CheckPredicate, 10,
         OPC_MoveParent,
         OPC_Scope, 98,
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 45,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI32, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 6,
           OPC_EmitIntegerI32, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                           MVT::i32, 3, 5, 7, 9,
          47,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 6,
           OPC_EmitIntegerI64, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                           MVT::i64, 3, 5, 7, 9,
          0,
         98,
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 45,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI32, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 6,
           OPC_EmitIntegerI32, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                           MVT::i32, 3, 5, 7, 9,
          47,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 6,
           OPC_EmitIntegerI64, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                           MVT::i64, 3, 5, 7, 9,
          0,
         0,
        100,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        83|128,1,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 40,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
                          MVT::i32, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 9,
         42,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
                          MVT::i32, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 9,
         59,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
                          MVT::i32, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 10,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 12,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 9, 11, 13,
         61,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
                          MVT::i32, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 10,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 12,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 9, 11, 13,
         0,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETULE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       0,
      0,
     96|128,20,
      OPC_CheckChild0TypeI64,
      OPC_Scope, 12|128,3,
       OPC_CheckChild1Integer, 0,
       OPC_Scope, 45,
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 16,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 0, 1, 2,
        23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 0, 1, 2,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 3, 4,
        0,
       57,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_Scope, 22,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
                         MVT::i64, 1, 0,
         OPC_EmitIntegerI32, 58,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 1, 2, 3,
        29,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
                         MVT::i64, 1, 0,
         OPC_EmitIntegerI32, 58,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 1, 2, 3,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 4, 5,
        0,
       59,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 23,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                         MVT::i64, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 1, 2, 3,
        30,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                         MVT::i64, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 1, 2, 3,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 4, 5,
        0,
       71,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 29,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
                         MVT::i64, 2, 1, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 2, 3, 4,
        36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
                         MVT::i64, 2, 1, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 2, 3, 4,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 5, 6,
        0,
       71,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 29,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ORC8),
                         MVT::i64, 2, 0, 1,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 2, 3, 4,
        36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::ORC8),
                         MVT::i64, 2, 0, 1,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 2, 3, 4,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 5, 6,
        0,
       83,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 35,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                         MVT::i64, 2, 1, 2,
         OPC_EmitIntegerI32, 58,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 3, 4, 5,
        42,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
                         MVT::i64, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                         MVT::i64, 2, 1, 2,
         OPC_EmitIntegerI32, 58,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 3, 4, 5,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 6, 7,
        0,
       0,
      10|128,2,
       OPC_CheckChild1Integer, 127,
       OPC_Scope, 45,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 16,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 0, 1, 2,
        23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 0, 1, 2,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 3, 4,
        0,
       59,
        OPC_CheckChild2CondCode, ISD::SETGT,
        OPC_Scope, 23,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                         MVT::i64, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 1, 2, 3,
        30,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
                         MVT::i64, 2, 0, 0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 1, 2, 3,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 4, 5,
        0,
       77,
        OPC_CheckChild2CondCode, ISD::SETLT,
        OPC_Scope, 32,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
                         MVT::i64, 2, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                         MVT::i64, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 3, 4, 5,
        39,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
                         MVT::i64, 2, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                         MVT::i64, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 3, 4, 5,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 6, 7,
        0,
       77,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 32,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
                         MVT::i64, 2, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::NAND8),
                         MVT::i64, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 3, 4, 5,
        39,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
                         MVT::i64, 2, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::NAND8),
                         MVT::i64, 2, 0, 2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 63,
         OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                         MVT::i64, 3, 3, 4, 5,
         OPC_EmitIntegerI32, PPC::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 6, 7,
        0,
       0,
      65|128,15,
       OPC_RecordChild1,
       OPC_Scope, 68|128,9,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_Scope, 62,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        63,
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        62,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        127,
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_Scope, 60,
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 26,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                           MVT::i32, 1, 5,
          28,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                           MVT::i64, 1, 5,
          0,
         60,
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 26,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                           MVT::i32, 1, 5,
          28,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate4,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                           MVT::i64, 1, 5,
          0,
         0,
        62,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 26,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 5,
         28,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 5,
         0,
        91,
         OPC_CheckPredicate, 21,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 40,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
                          MVT::i64, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                          MVT::i32, 1, 9,
         42,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate4,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
                          MVT::i64, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                          MVT::i64, 1, 9,
         0,
        100,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETUGE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        101,
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETGE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_lt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        100,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETULE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_gt,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        75|128,1,
         OPC_CheckPredicate, 13,
         OPC_MoveParent,
         OPC_Scope, 98,
          OPC_CheckChild2CondCode, ISD::SETLE,
          OPC_Scope, 45,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI32, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 6,
           OPC_EmitIntegerI32, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                           MVT::i32, 3, 5, 7, 9,
          47,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_gt,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 6,
           OPC_EmitIntegerI64, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                           MVT::i64, 3, 5, 7, 9,
          0,
         98,
          OPC_CheckChild2CondCode, ISD::SETNE,
          OPC_Scope, 45,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI32, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 6,
           OPC_EmitIntegerI32, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                           MVT::i32, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                           MVT::i32, 3, 5, 7, 9,
          47,
           OPC_CheckType, MVT::i1,
           OPC_MoveParent,
           OPC_CheckTypeI64,
           OPC_CheckPatternPredicate, 8,
           OPC_EmitConvertToTarget1,
           OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                           MVT::i32, 2, 0, 2,
           OPC_EmitIntegerI32, PPC::sub_eq,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                           MVT::i1, 2, 3, 4,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 6,
           OPC_EmitIntegerI64, 1,
           OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                           MVT::i64, 1, 8,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                           MVT::i64, 3, 5, 7, 9,
          0,
         0,
        100,
         OPC_CheckPredicate3,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 45,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 6,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 5, 7, 9,
         47,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 0, 2,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 3, 4,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 6,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 8,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 5, 7, 9,
         0,
        1|128,1,
         OPC_CheckPredicate, 21,
         OPC_MoveParent,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_Scope, 59,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
                          MVT::i64, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_EmitIntegerI32, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 10,
          OPC_EmitIntegerI32, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                          MVT::i32, 1, 12,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                          MVT::i32, 3, 9, 11, 13,
         61,
          OPC_CheckType, MVT::i1,
          OPC_MoveParent,
          OPC_CheckTypeI64,
          OPC_CheckPatternPredicate, 8,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 0, 2,
          OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
                          MVT::i64, 2, 0, 3,
          OPC_EmitConvertToTarget1,
          OPC_EmitNodeXForm, 1, 5,
          OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                          MVT::i32, 2, 4, 6,
          OPC_EmitIntegerI32, PPC::sub_eq,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                          MVT::i1, 2, 7, 8,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 10,
          OPC_EmitIntegerI64, 1,
          OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                          MVT::i64, 1, 12,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                          MVT::i64, 3, 9, 11, 13,
         0,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETGE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETULE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       22|128,1,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                         MVT::i32, 1, 4,
        27,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                         MVT::i64, 1, 4,
        44,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 5,
         OPC_EmitIntegerI32, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 4, 6, 8,
        46,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 2, 3,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 5,
         OPC_EmitIntegerI64, 1,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 4, 6, 8,
        0,
       0,
      0,
     73|128,12,
      OPC_CheckChild0Type, MVT::f32,
      OPC_RecordChild1,
      OPC_Scope, 112|128,1,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETUNE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETO,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      0,
     73|128,12,
      OPC_CheckChild0Type, MVT::f64,
      OPC_RecordChild1,
      OPC_Scope, 112|128,1,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETUNE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      112|128,1,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate5,
        OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETO,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      0,
     45|128,8,
      OPC_CheckChild0Type, MVT::f128,
      OPC_RecordChild1,
      OPC_Scope, 22|128,1,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETLE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETUNE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      22|128,1,
       OPC_CheckChild2CondCode, ISD::SETO,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
                        MVT::i32, 1, 4,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
                        MVT::i64, 1, 4,
       43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 5,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 4, 6, 8,
       45,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, PPC::sub_un,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 4, 6, 8,
       0,
      0,
     0,
    0,
   31, TARGET_VAL(ISD::SRL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(PPC::BRH),
                    MVT::i32, 1, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL_32_64),
                    MVT::i64, 3, 1, 2, 3,
   38|128,16, TARGET_VAL(ISD::STRICT_FSETCC),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 52|128,5,
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 97,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    52|128,5,
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 97,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    52|128,5,
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 97,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    0,
   2|128,25, TARGET_VAL(ISD::STRICT_FSETCCS),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 98|128,9,
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 61|128,1,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    98|128,9,
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 61|128,1,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    52|128,5,
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 97,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    0,
   0,
  111,
   OPC_RecordChild0,
   OPC_SwitchType , 35, MVT::i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBC),
                     MVT::i32, 1, 0,
    24,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                     MVT::i32, 1, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                     MVT::i32, 1, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                     MVT::i32, 3, 0, 2, 4,
    0,
   69, MVT::i64,
    OPC_Scope, 37,
     OPC_CheckChild0Type, MVT::i1,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBC8),
                      MVT::i64, 1, 0,
     24,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                      MVT::i64, 3, 0, 2, 4,
     0,
    28,
     OPC_CheckChild0TypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 32,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 3, 4, 5,
    0,
   0,
  0,
 57|128,109, TARGET_VAL(ISD::SIGN_EXTEND),
  OPC_Scope, 90|128,108,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 87|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckTypeI32,
    OPC_Scope, 54,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 23,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
                      MVT::i64, 2, 2, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
                      MVT::i64, 1, 3,
     23,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
                      MVT::i64, 2, 2, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
                      MVT::i64, 1, 3,
     0,
    78,
     OPC_CheckChild1Integer, 2,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 23,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI64, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
                      MVT::i64, 2, 2, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
                      MVT::i64, 1, 3,
     47,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
                      MVT::i32, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 1, 6, 7,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
                      MVT::i64, 1, 8,
     0,
    54,
     OPC_CheckChild1Integer, 3,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 23,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI64, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
                      MVT::i64, 2, 2, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
                      MVT::i64, 1, 3,
     23,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI64, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
                      MVT::i64, 2, 2, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
                      MVT::i64, 1, 3,
     0,
    78,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 23,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
                      MVT::i64, 2, 2, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
                      MVT::i64, 1, 3,
     47,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
                      MVT::i32, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 1, 6, 7,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
                      MVT::i64, 1, 8,
     0,
    68,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 28,
      OPC_EmitIntegerI32, 29,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                      MVT::i64, 4, 1, 2, 3, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
                      MVT::i64, 2, 5, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
                      MVT::i64, 1, 6,
     30,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 28,
      OPC_EmitIntegerI32, 29,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                      MVT::i64, 4, 1, 2, 3, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
                      MVT::i64, 2, 5, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
                      MVT::i64, 1, 6,
     0,
    0,
   72|128,64, TARGET_VAL(ISD::SETCC),
    OPC_RecordChild0,
    OPC_Scope, 58|128,15,
     OPC_CheckChild0TypeI32,
     OPC_RecordChild1,
     OPC_Scope, 60|128,9,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 62,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                        MVT::i32, 1, 5,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                        MVT::i64, 1, 5,
       0,
      63,
       OPC_CheckPredicate, 10,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                        MVT::i32, 1, 5,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                        MVT::i64, 1, 5,
       0,
      62,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                        MVT::i32, 1, 5,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                        MVT::i64, 1, 5,
       0,
      127,
       OPC_CheckPredicate, 10,
       OPC_MoveParent,
       OPC_Scope, 60,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 26,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                         MVT::i32, 1, 5,
        28,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                         MVT::i64, 1, 5,
        0,
       60,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 26,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                         MVT::i32, 1, 5,
        28,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                         MVT::i64, 1, 5,
        0,
       0,
      36|128,1,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_Scope, 60,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 26,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                         MVT::i32, 1, 5,
        28,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                         MVT::i64, 1, 5,
        0,
       98,
        OPC_CheckChild2CondCode, ISD::SETUGE,
        OPC_Scope, 45,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 6,
         OPC_EmitIntegerI32, 127,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 5, 7, 9,
        47,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_lt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 6,
         OPC_EmitIntegerI64, 127,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 5, 7, 9,
        0,
       0,
      101,
       OPC_CheckPredicate, 10,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 45,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 6,
        OPC_EmitIntegerI32, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 5, 7, 9,
       47,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 6,
        OPC_EmitIntegerI64, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 5, 7, 9,
       0,
      100,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 45,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 6,
        OPC_EmitIntegerI32, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 5, 7, 9,
       47,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 6,
        OPC_EmitIntegerI64, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 5, 7, 9,
       0,
      75|128,1,
       OPC_CheckPredicate, 10,
       OPC_MoveParent,
       OPC_Scope, 98,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 45,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 6,
         OPC_EmitIntegerI32, 127,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 5, 7, 9,
        47,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 6,
         OPC_EmitIntegerI64, 127,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 5, 7, 9,
        0,
       98,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 45,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 6,
         OPC_EmitIntegerI32, 127,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 5, 7, 9,
        47,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 6,
         OPC_EmitIntegerI64, 127,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 5, 7, 9,
        0,
       0,
      100,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 45,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 6,
        OPC_EmitIntegerI32, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 5, 7, 9,
       47,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 6,
        OPC_EmitIntegerI64, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 5, 7, 9,
       0,
      83|128,1,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 40,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
                        MVT::i32, 2, 0, 3,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                        MVT::i32, 2, 4, 6,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 7, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                        MVT::i32, 1, 9,
       42,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
                        MVT::i32, 2, 0, 3,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                        MVT::i32, 2, 4, 6,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 7, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                        MVT::i64, 1, 9,
       59,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
                        MVT::i32, 2, 0, 3,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                        MVT::i32, 2, 4, 6,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 7, 8,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 10,
        OPC_EmitIntegerI32, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 12,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 9, 11, 13,
       61,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
                        MVT::i32, 2, 0, 3,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
                        MVT::i32, 2, 4, 6,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 7, 8,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 10,
        OPC_EmitIntegerI64, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 12,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 9, 11, 13,
       0,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_Scope, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      27,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_Scope, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      27,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_Scope, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      27,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_Scope, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      27,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_Scope, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      27,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     0,
    66|128,15,
     OPC_CheckChild0TypeI64,
     OPC_RecordChild1,
     OPC_Scope, 68|128,9,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 62,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                        MVT::i32, 1, 5,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                        MVT::i64, 1, 5,
       0,
      63,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                        MVT::i32, 1, 5,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                        MVT::i64, 1, 5,
       0,
      62,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                        MVT::i32, 1, 5,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                        MVT::i64, 1, 5,
       0,
      127,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_Scope, 60,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 26,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                         MVT::i32, 1, 5,
        28,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                         MVT::i64, 1, 5,
        0,
       60,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 26,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate4,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                         MVT::i32, 1, 5,
        28,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate4,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                         MVT::i64, 1, 5,
        0,
       0,
      62,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 26,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                        MVT::i32, 1, 5,
       28,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                        MVT::i64, 1, 5,
       0,
      91,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 40,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
                        MVT::i64, 2, 0, 3,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 4, 6,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 7, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                        MVT::i32, 1, 9,
       42,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate4,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
                        MVT::i64, 2, 0, 3,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 4, 6,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 7, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                        MVT::i64, 1, 9,
       0,
      100,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETUGE,
       OPC_Scope, 45,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 6,
        OPC_EmitIntegerI32, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 5, 7, 9,
       47,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 6,
        OPC_EmitIntegerI64, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 5, 7, 9,
       0,
      101,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETGE,
       OPC_Scope, 45,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 6,
        OPC_EmitIntegerI32, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 5, 7, 9,
       47,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_lt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 6,
        OPC_EmitIntegerI64, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 5, 7, 9,
       0,
      100,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_Scope, 45,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 6,
        OPC_EmitIntegerI32, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 5, 7, 9,
       47,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_gt,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 6,
        OPC_EmitIntegerI64, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 5, 7, 9,
       0,
      75|128,1,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_Scope, 98,
        OPC_CheckChild2CondCode, ISD::SETLE,
        OPC_Scope, 45,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 6,
         OPC_EmitIntegerI32, 127,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 5, 7, 9,
        47,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_gt,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 6,
         OPC_EmitIntegerI64, 127,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 5, 7, 9,
        0,
       98,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_Scope, 45,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 6,
         OPC_EmitIntegerI32, 127,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                         MVT::i32, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                         MVT::i32, 3, 5, 7, 9,
        47,
         OPC_CheckType, MVT::i1,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_CheckPatternPredicate, 8,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, PPC::sub_eq,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i1, 2, 3, 4,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 6,
         OPC_EmitIntegerI64, 127,
         OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                         MVT::i64, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                         MVT::i64, 3, 5, 7, 9,
        0,
       0,
      100,
       OPC_CheckPredicate3,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 45,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 6,
        OPC_EmitIntegerI32, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 5, 7, 9,
       47,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 3, 4,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 6,
        OPC_EmitIntegerI64, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 5, 7, 9,
       0,
      1|128,1,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_Scope, 59,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
                        MVT::i64, 2, 0, 3,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 4, 6,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 7, 8,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 10,
        OPC_EmitIntegerI32, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                        MVT::i32, 1, 12,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                        MVT::i32, 3, 9, 11, 13,
       61,
        OPC_CheckType, MVT::i1,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 0, 2,
        OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
                        MVT::i64, 2, 0, 3,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
                        MVT::i32, 2, 4, 6,
        OPC_EmitIntegerI32, PPC::sub_eq,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i1, 2, 7, 8,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 10,
        OPC_EmitIntegerI64, 127,
        OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                        MVT::i64, 1, 12,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                        MVT::i64, 3, 9, 11, 13,
       0,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_Scope, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      27,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_Scope, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      27,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_Scope, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      27,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_Scope, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      27,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_Scope, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      27,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate4,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     0,
    73|128,12,
     OPC_CheckChild0Type, MVT::f32,
     OPC_RecordChild1,
     OPC_Scope, 112|128,1,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     112|128,1,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     112|128,1,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     112|128,1,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     112|128,1,
      OPC_CheckChild2CondCode, ISD::SETUNE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     112|128,1,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETO,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     0,
    73|128,12,
     OPC_CheckChild0Type, MVT::f64,
     OPC_RecordChild1,
     OPC_Scope, 112|128,1,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     112|128,1,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     112|128,1,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     112|128,1,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     112|128,1,
      OPC_CheckChild2CondCode, ISD::SETUNE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     112|128,1,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETO,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     0,
    45|128,8,
     OPC_CheckChild0Type, MVT::f128,
     OPC_RecordChild1,
     OPC_Scope, 22|128,1,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETUNE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     22|128,1,
      OPC_CheckChild2CondCode, ISD::SETO,
      OPC_Scope, 26,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
                       MVT::i32, 1, 4,
      28,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
                       MVT::i64, 1, 4,
      43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 5,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 4, 6, 8,
      45,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 5,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 7,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 4, 6, 8,
      0,
     0,
    0,
   38|128,16, TARGET_VAL(ISD::STRICT_FSETCC),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 52|128,5,
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 97,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    52|128,5,
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 97,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    52|128,5,
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 97,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    0,
   2|128,25, TARGET_VAL(ISD::STRICT_FSETCCS),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 98|128,9,
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 61|128,1,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    98|128,9,
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 61|128,1,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     61|128,1,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate5,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    52|128,5,
     OPC_CheckChild1Type, MVT::f128,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 97,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_lt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_gt,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_eq,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     97,
      OPC_CheckCondCode, ISD::SETO,
      OPC_MoveParent,
      OPC_Scope, 44,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 6,
       OPC_EmitIntegerI32, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                       MVT::i32, 3, 5, 7, 9,
      46,
       OPC_CheckType, MVT::i1,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_un,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i1, 2, 3, 4,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 6,
       OPC_EmitIntegerI64, 127,
       OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                       MVT::i64, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                       MVT::i64, 3, 5, 7, 9,
      0,
     0,
    0,
   0,
  90,
   OPC_RecordChild0,
   OPC_SwitchType , 48, MVT::i64,
    OPC_Scope, 7,
     OPC_CheckChild0TypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW_32_64),
                     MVT::i64, 1, 0,
    37,
     OPC_CheckChild0Type, MVT::i1,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBC8),
                      MVT::i64, 1, 0,
     24,
      OPC_EmitIntegerI64, 127,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                      MVT::i64, 3, 0, 2, 4,
     0,
    0,
   35, MVT::i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBC),
                     MVT::i32, 1, 0,
    24,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                     MVT::i32, 1, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                     MVT::i32, 1, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                     MVT::i32, 3, 0, 2, 4,
    0,
   0,
  0,
 104|128,51, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
  OPC_RecordChild0,
  OPC_Scope, 52|128,4,
   OPC_CheckChild1Integer, 1,
   OPC_SwitchType , 89, MVT::i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 57,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRLD),
                     MVT::i64, 1, 0,
    77,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_Scope, 26,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 4,
     45,
      OPC_CheckPatternPredicate, 43,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 2, 4, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 8,
     0,
    0,
   82|128,3, MVT::i32,
    OPC_Scope, 113,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_Scope, 26,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                      MVT::i32, 1, 4,
     27,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                      MVT::v4i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                      MVT::i32, 1, 4,
     26,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                      MVT::i32, 1, 4,
     26,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI64, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     0,
    45|128,1,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 26,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     26,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     47,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 4,
      OPC_EmitIntegerI32, 16,
      OPC_EmitIntegerI32, 56,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                      MVT::i64, 3, 5, 6, 7,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 8, 9,
     66,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 2, 4, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 8,
      OPC_EmitIntegerI32, 56,
      OPC_EmitIntegerI32, 56,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                      MVT::i64, 3, 9, 10, 11,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 12, 13,
     0,
    45|128,1,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 26,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     26,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI64, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     47,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 4,
      OPC_EmitIntegerI32, 32,
      OPC_EmitIntegerI32, 48,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                      MVT::i64, 3, 5, 6, 7,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 8, 9,
     66,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 2, 4, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 8,
      OPC_EmitIntegerI32, 48,
      OPC_EmitIntegerI32, 48,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                      MVT::i64, 3, 9, 10, 11,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 12, 13,
     0,
    0,
   0,
  53|128,4,
   OPC_CheckChild1Integer, 0,
   OPC_SwitchType , 89, MVT::i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 58,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRLD),
                     MVT::i64, 1, 0,
    77,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_Scope, 26,
      OPC_CheckPatternPredicate, 43,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 4,
     45,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 2, 4, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 8,
     0,
    0,
   83|128,3, MVT::i32,
    OPC_Scope, 114,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_Scope, 27,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                      MVT::v4i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                      MVT::i32, 1, 4,
     27,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                      MVT::i32, 1, 4,
     26,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     26,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     0,
    45|128,1,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 26,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     26,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     47,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 4,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 56,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                      MVT::i64, 3, 5, 6, 7,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 8, 9,
     66,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 2, 4, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 56,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                      MVT::i64, 3, 9, 10, 11,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 12, 13,
     0,
    45|128,1,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 26,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     26,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     47,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 4,
      OPC_EmitIntegerI32, 16,
      OPC_EmitIntegerI32, 48,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                      MVT::i64, 3, 5, 6, 7,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 8, 9,
     66,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 2, 4, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 6, 7,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 48,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                      MVT::i64, 3, 9, 10, 11,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 12, 13,
     0,
    0,
   0,
  85|128,3,
   OPC_CheckChild1Integer, 2,
   OPC_CheckTypeI32,
   OPC_Scope, 113,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                     MVT::i32, 1, 4,
    26,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                     MVT::i32, 1, 4,
    26,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI64, 8,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                     MVT::i32, 1, 4,
    0,
   45|128,1,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI64, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI64, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    47,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 4,
     OPC_EmitIntegerI32, 24,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    66,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 2, 4, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 8,
     OPC_EmitIntegerI32, 48,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 9, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 12, 13,
    0,
   45|128,1,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    47,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 4,
     OPC_EmitIntegerI32, 48,
     OPC_EmitIntegerI32, 48,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    66,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 2, 4, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 8,
     OPC_EmitIntegerI32, 32,
     OPC_EmitIntegerI32, 48,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 9, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 12, 13,
    0,
   0,
  86|128,3,
   OPC_CheckChild1Integer, 3,
   OPC_CheckTypeI32,
   OPC_Scope, 114,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                     MVT::i32, 1, 4,
    27,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                     MVT::i32, 1, 4,
    26,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI64, 12,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI64, 12,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    0,
   45|128,1,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI64, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI64, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    47,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 4,
     OPC_EmitIntegerI32, 32,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    66,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 2, 4, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 8,
     OPC_EmitIntegerI32, 40,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 9, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 12, 13,
    0,
   45|128,1,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI64, 6,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI64, 6,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    47,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 4,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 48,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    66,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 2, 4, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 8,
     OPC_EmitIntegerI32, 16,
     OPC_EmitIntegerI32, 48,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 9, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 12, 13,
    0,
   0,
  99|128,2,
   OPC_CheckChild1Integer, 4,
   OPC_CheckTypeI32,
   OPC_Scope, 45|128,1,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI64, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    47,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 4,
     OPC_EmitIntegerI32, 40,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    66,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 2, 4, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 8,
     OPC_EmitIntegerI32, 32,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 9, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 12, 13,
    0,
   45|128,1,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI64, 8,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI64, 8,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    47,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 4,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 48,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    66,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 2, 4, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 8,
     OPC_EmitIntegerI32, 16,
     OPC_EmitIntegerI32, 48,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 9, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 12, 13,
    0,
   0,
  99|128,2,
   OPC_CheckChild1Integer, 5,
   OPC_CheckTypeI32,
   OPC_Scope, 45|128,1,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI64, 5,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI64, 5,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    47,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 4,
     OPC_EmitIntegerI32, 48,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    66,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 2, 4, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 8,
     OPC_EmitIntegerI32, 24,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 9, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 12, 13,
    0,
   45|128,1,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI64, 10,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI64, 10,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    47,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 4,
     OPC_EmitIntegerI32, 48,
     OPC_EmitIntegerI32, 48,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    66,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 2, 4, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 8,
     OPC_EmitIntegerI32, 32,
     OPC_EmitIntegerI32, 48,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 9, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 12, 13,
    0,
   0,
  27|128,3,
   OPC_CheckChild1Integer, 6,
   OPC_CheckTypeI32,
   OPC_Scope, 45|128,1,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI64, 6,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI64, 6,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    47,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 4,
     OPC_EmitIntegerI32, 56,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    66,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 2, 4, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 8,
     OPC_EmitIntegerI32, 16,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 9, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 12, 13,
    0,
   101|128,1,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 54,
     OPC_CheckPatternPredicate, 15,
     OPC_Scope, 24,
      OPC_EmitIntegerI64, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     24,
      OPC_EmitIntegerI64, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     0,
    54,
     OPC_CheckPatternPredicate, 16,
     OPC_Scope, 24,
      OPC_EmitIntegerI64, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     24,
      OPC_EmitIntegerI64, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                      MVT::i64, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
                      MVT::i64, 2, 2, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 3, 4,
     0,
    47,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 4,
     OPC_EmitIntegerI32, 32,
     OPC_EmitIntegerI32, 48,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    66,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 2, 4, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 8,
     OPC_EmitIntegerI32, 48,
     OPC_EmitIntegerI32, 48,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 9, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 12, 13,
    0,
   0,
  44|128,2,
   OPC_CheckChild1Integer, 7,
   OPC_CheckTypeI32,
   OPC_Scope, 45|128,1,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI64, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    26,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitIntegerI64, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                     MVT::i64, 2, 2, 0,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
    47,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 4,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    66,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 2, 4, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 8,
     OPC_EmitIntegerI32, 8,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 9, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 12, 13,
    0,
   119,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 47,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 4,
     OPC_EmitIntegerI32, 16,
     OPC_EmitIntegerI32, 48,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    66,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 2, 4, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                     MVT::i64, 1, 8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 48,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                     MVT::i64, 3, 9, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 12, 13,
    0,
   0,
  48|128,1,
   OPC_CheckChild1Integer, 8,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckTypeI32,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitIntegerI64, 8,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   26,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI64, 8,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   47,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 4,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 5, 6, 7,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 8, 9,
   66,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                    MVT::v4i32, 3, 2, 4, 5,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 8,
    OPC_EmitIntegerI32, 8,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 9, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 12, 13,
   0,
  48|128,1,
   OPC_CheckChild1Integer, 9,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckTypeI32,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitIntegerI64, 9,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   26,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI64, 9,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   47,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 4,
    OPC_EmitIntegerI32, 56,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 5, 6, 7,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 8, 9,
   66,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                    MVT::v4i32, 3, 2, 4, 5,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 8,
    OPC_EmitIntegerI32, 16,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 9, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 12, 13,
   0,
  48|128,1,
   OPC_CheckChild1Integer, 10,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckTypeI32,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitIntegerI64, 10,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   26,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI64, 10,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   47,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 4,
    OPC_EmitIntegerI32, 48,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 5, 6, 7,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 8, 9,
   66,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                    MVT::v4i32, 3, 2, 4, 5,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 8,
    OPC_EmitIntegerI32, 24,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 9, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 12, 13,
   0,
  48|128,1,
   OPC_CheckChild1Integer, 11,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckTypeI32,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitIntegerI64, 11,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   26,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI64, 11,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   47,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 4,
    OPC_EmitIntegerI32, 40,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 5, 6, 7,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 8, 9,
   66,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                    MVT::v4i32, 3, 2, 4, 5,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 8,
    OPC_EmitIntegerI32, 32,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 9, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 12, 13,
   0,
  48|128,1,
   OPC_CheckChild1Integer, 12,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckTypeI32,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitIntegerI64, 12,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   26,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI64, 12,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   47,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 4,
    OPC_EmitIntegerI32, 32,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 5, 6, 7,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 8, 9,
   66,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                    MVT::v4i32, 3, 2, 4, 5,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 8,
    OPC_EmitIntegerI32, 40,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 9, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 12, 13,
   0,
  48|128,1,
   OPC_CheckChild1Integer, 13,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckTypeI32,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitIntegerI64, 13,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   26,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI64, 13,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   47,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 4,
    OPC_EmitIntegerI32, 24,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 5, 6, 7,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 8, 9,
   66,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                    MVT::v4i32, 3, 2, 4, 5,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 8,
    OPC_EmitIntegerI32, 48,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 9, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 12, 13,
   0,
  48|128,1,
   OPC_CheckChild1Integer, 14,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckTypeI32,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitIntegerI64, 14,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   26,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI64, 14,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   47,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 4,
    OPC_EmitIntegerI32, 16,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 5, 6, 7,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 8, 9,
   66,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                    MVT::v4i32, 3, 2, 4, 5,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 8,
    OPC_EmitIntegerI32, 56,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 9, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 12, 13,
   0,
  48|128,1,
   OPC_CheckChild1Integer, 15,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckTypeI32,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitIntegerI64, 15,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   26,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI64, 15,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                    MVT::i64, 2, 2, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   47,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 4,
    OPC_EmitIntegerI32, 8,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 5, 6, 7,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 8, 9,
   66,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                    MVT::v4i32, 3, 2, 4, 5,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 56,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                    MVT::i64, 3, 9, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 12, 13,
   0,
  10|128,2,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_CheckTypeI32,
   OPC_Scope, 18,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
                    MVT::i64, 2, 1, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
   18,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
                    MVT::i64, 2, 1, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
   107,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitRegister2, MVT::i64,TARGET_VAL(PPC::ZERO8),
    OPC_EmitIntegerI64, 8,
    OPC_EmitNode2None, TARGET_VAL(PPC::ANDI8_rec),
                    MVT::i64, MVT::i32, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                    MVT::v16i8, 2, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                    MVT::v16i8, 3, 0, 0, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 7, 8,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 9, 10,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 11,
    OPC_EmitIntegerI64, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 13,
    OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
                    MVT::i64, 2, 14, 1,
    OPC_EmitIntegerI32, 3,
    OPC_EmitIntegerI32, 60,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                    MVT::i64, 3, 15, 16, 17,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 18, 19,
    OPC_EmitNode1None, TARGET_VAL(PPC::SRD),
                    MVT::i64, 2, 12, 20,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 21, 22,
   112,
    OPC_CheckPatternPredicate, 64,
    OPC_EmitRegister2, MVT::i64,TARGET_VAL(PPC::ZERO8),
    OPC_EmitIntegerI64, 8,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
                    MVT::i64, 2, 4, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                    MVT::v16i8, 2, 2, 5,
    OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                    MVT::v16i8, 3, 0, 0, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 7, 8,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 9, 10,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 11,
    OPC_EmitIntegerI64, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 13,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                    MVT::i64, 2, 14, 1,
    OPC_EmitIntegerI32, 3,
    OPC_EmitIntegerI32, 60,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                    MVT::i64, 3, 15, 16, 17,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 18, 19,
    OPC_EmitNode1None, TARGET_VAL(PPC::SRD),
                    MVT::i64, 2, 12, 20,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 21, 22,
   0,
  64|128,2,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_CheckTypeI32,
   OPC_Scope, 33,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 28,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                    MVT::i64, 4, 1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
                    MVT::i64, 2, 5, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   33,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 28,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                    MVT::i64, 4, 1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
                    MVT::i64, 2, 5, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   119,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitRegister2, MVT::i64,TARGET_VAL(PPC::ZERO8),
    OPC_EmitIntegerI64, 4,
    OPC_EmitNode2None, TARGET_VAL(PPC::ANDI8_rec),
                    MVT::i64, MVT::i32, 2, 1, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 62,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                    MVT::i64, 3, 4, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                    MVT::v16i8, 2, 2, 8,
    OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                    MVT::v16i8, 3, 0, 0, 9,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 12, 13,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 14,
    OPC_EmitIntegerI64, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 16,
    OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
                    MVT::i64, 2, 17, 1,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 59,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                    MVT::i64, 3, 18, 19, 20,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 21, 22,
    OPC_EmitNode1None, TARGET_VAL(PPC::SRD),
                    MVT::i64, 2, 15, 23,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 24, 25,
   124,
    OPC_CheckPatternPredicate, 64,
    OPC_EmitRegister2, MVT::i64,TARGET_VAL(PPC::ZERO8),
    OPC_EmitIntegerI64, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
                    MVT::i64, 2, 4, 1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 62,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                    MVT::i64, 3, 5, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                    MVT::v16i8, 2, 2, 8,
    OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                    MVT::v16i8, 3, 0, 0, 9,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 12, 13,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 14,
    OPC_EmitIntegerI64, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 16,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                    MVT::i64, 2, 17, 1,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 59,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                    MVT::i64, 3, 18, 19, 20,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 21, 22,
    OPC_EmitNode1None, TARGET_VAL(PPC::SRD),
                    MVT::i64, 2, 15, 23,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 24, 25,
   0,
  64|128,2,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_CheckTypeI32,
   OPC_Scope, 33,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 28,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                    MVT::i64, 4, 1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
                    MVT::i64, 2, 5, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   33,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 28,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                    MVT::i64, 4, 1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
                    MVT::i64, 2, 5, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   119,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitRegister2, MVT::i64,TARGET_VAL(PPC::ZERO8),
    OPC_EmitIntegerI64, 2,
    OPC_EmitNode2None, TARGET_VAL(PPC::ANDI8_rec),
                    MVT::i64, MVT::i32, 2, 1, 3,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 61,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                    MVT::i64, 3, 4, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                    MVT::v16i8, 2, 2, 8,
    OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                    MVT::v16i8, 3, 0, 0, 9,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 12, 13,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 14,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 16,
    OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
                    MVT::i64, 2, 17, 1,
    OPC_EmitIntegerI32, 5,
    OPC_EmitIntegerI32, 58,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                    MVT::i64, 3, 18, 19, 20,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 21, 22,
    OPC_EmitNode1None, TARGET_VAL(PPC::SRD),
                    MVT::i64, 2, 15, 23,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 24, 25,
   124,
    OPC_CheckPatternPredicate, 64,
    OPC_EmitRegister2, MVT::i64,TARGET_VAL(PPC::ZERO8),
    OPC_EmitIntegerI64, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
                    MVT::i64, 2, 4, 1,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 61,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                    MVT::i64, 3, 5, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                    MVT::v16i8, 2, 2, 8,
    OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                    MVT::v16i8, 3, 0, 0, 9,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 12, 13,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 14,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 16,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                    MVT::i64, 2, 17, 1,
    OPC_EmitIntegerI32, 5,
    OPC_EmitIntegerI32, 58,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                    MVT::i64, 3, 18, 19, 20,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 21, 22,
    OPC_EmitNode1None, TARGET_VAL(PPC::SRD),
                    MVT::i64, 2, 15, 23,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 24, 25,
   0,
  20|128,1,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_CheckTypeI64,
   OPC_Scope, 67,
    OPC_CheckPatternPredicate, 79,
    OPC_EmitRegister2, MVT::i64,TARGET_VAL(PPC::ZERO8),
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode2None, TARGET_VAL(PPC::ANDI8_rec),
                    MVT::i64, MVT::i32, 2, 1, 3,
    OPC_EmitIntegerI32, 3,
    OPC_EmitIntegerI32, 60,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                    MVT::i64, 3, 4, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                    MVT::v16i8, 2, 2, 8,
    OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                    MVT::v16i8, 3, 0, 0, 9,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 12, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 14,
   72,
    OPC_CheckPatternPredicate, 80,
    OPC_EmitRegister2, MVT::i64,TARGET_VAL(PPC::ZERO8),
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                    MVT::i64, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
                    MVT::i64, 2, 4, 1,
    OPC_EmitIntegerI32, 3,
    OPC_EmitIntegerI32, 60,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                    MVT::i64, 3, 5, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                    MVT::v16i8, 2, 2, 8,
    OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                    MVT::v16i8, 3, 0, 0, 9,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 10, 11,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 12, 13,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 14,
   0,
  77,
   OPC_CheckChild1Integer, 0,
   OPC_SwitchType , 36, MVT::f64,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate, 19,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 0, 1,
    21,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
    0,
   33, MVT::f32,
    OPC_CheckChild0Type, 4|128,1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                     MVT::f32, 1, 0,
    18,
     OPC_CheckPatternPredicate, 24,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 0, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                     MVT::f32, 1, 2,
    0,
   0,
  87,
   OPC_CheckChild1Integer, 1,
   OPC_SwitchType , 36, MVT::f64,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 0, 1,
    21,
     OPC_CheckPatternPredicate, 19,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 0, 0, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
    0,
   43, MVT::f32,
    OPC_CheckChild0Type, 4|128,1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 0, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                     MVT::f32, 1, 2,
    18,
     OPC_CheckPatternPredicate, 24,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v4i32, 3, 0, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                     MVT::f32, 1, 2,
    0,
   0,
  37,
   OPC_CheckChild1Integer, 3,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                    MVT::f32, 1, 0,
   18,
    OPC_CheckPatternPredicate, 31,
    OPC_EmitIntegerI32, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                    MVT::v4i32, 3, 0, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                    MVT::f32, 1, 2,
   0,
  47,
   OPC_CheckChild1Integer, 2,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 18,
    OPC_CheckPatternPredicate, 31,
    OPC_EmitIntegerI32, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                    MVT::v4i32, 3, 0, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                    MVT::f32, 1, 2,
   18,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                    MVT::v4i32, 3, 0, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                    MVT::f32, 1, 2,
   0,
  21|128,1,
   OPC_CheckChild0Type, 4|128,1,
   OPC_RecordChild1,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 41,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate, 72,
    OPC_EmitRegisterI32, PPC::ZERO,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 1, 3, 4, 5,
    OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                    MVT::v16i8, 2, 2, 6,
    OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                    MVT::v4i32, 3, 0, 0, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                    MVT::f32, 1, 8,
   98,
    OPC_CheckChild1TypeI64,
    OPC_Scope, 39,
     OPC_CheckPatternPredicate, 81,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(PPC::ZERO8),
     OPC_EmitIntegerI32, 2,
     OPC_EmitIntegerI32, 61,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                     MVT::i64, 3, 1, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                     MVT::v16i8, 2, 2, 5,
     OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                     MVT::v4i32, 3, 0, 0, 6,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                     MVT::f32, 1, 7,
    54,
     OPC_CheckPatternPredicate, 82,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(PPC::ZERO8),
     OPC_EmitIntegerI64, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::XOR8),
                     MVT::i64, 2, 4, 1,
     OPC_EmitIntegerI32, 2,
     OPC_EmitIntegerI32, 61,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                     MVT::i64, 3, 5, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                     MVT::v16i8, 2, 2, 8,
     OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                     MVT::v4i32, 3, 0, 0, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                     MVT::f32, 1, 10,
    0,
   0,
  105|128,1,
   OPC_CheckChild0Type, 22|128,1,
   OPC_RecordChild1,
   OPC_CheckType, MVT::f64,
   OPC_Scope, 22|128,1,
    OPC_CheckChild1TypeI64,
    OPC_Scope, 70,
     OPC_CheckPatternPredicate, 83,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 2,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 4,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(PPC::ZERO8),
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode2None, TARGET_VAL(PPC::ANDI8_rec),
                     MVT::i64, MVT::i32, 2, 1, 7,
     OPC_EmitIntegerI32, 3,
     OPC_EmitIntegerI32, 60,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                     MVT::i64, 3, 8, 10, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                     MVT::v16i8, 2, 6, 12,
     OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                     MVT::v16i8, 3, 3, 5, 13,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 14, 15,
    75,
     OPC_CheckPatternPredicate, 84,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 2,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 4,
     OPC_EmitRegister2, MVT::i64,TARGET_VAL(PPC::ZERO8),
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
                     MVT::i64, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
                     MVT::i64, 2, 8, 1,
     OPC_EmitIntegerI32, 3,
     OPC_EmitIntegerI32, 60,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                     MVT::i64, 3, 9, 10, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                     MVT::v16i8, 2, 6, 12,
     OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                     MVT::v16i8, 3, 3, 5, 13,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 14, 15,
    0,
   72,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate, 72,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 0, 4,
    OPC_EmitRegisterI32, PPC::ZERO,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode2None, TARGET_VAL(PPC::ANDI_rec),
                    MVT::i32, MVT::i32, 2, 1, 7,
    OPC_EmitIntegerI32, 3,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 28,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 8, 10, 11, 12,
    OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
                    MVT::v16i8, 2, 6, 13,
    OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
                    MVT::v16i8, 3, 3, 5, 14,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 15, 16,
   0,
  0,
 79|128,93, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
  OPC_Scope, 23,
   OPC_CheckChild0Integer, 47|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XVTDIVDP),
                   MVT::i32, 2, 0, 1,
   OPC_EmitIntegerI32, PPC::GPRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 2, 3,
  23,
   OPC_CheckChild0Integer, 48|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XVTDIVSP),
                   MVT::i32, 2, 0, 1,
   OPC_EmitIntegerI32, PPC::GPRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 2, 3,
  21,
   OPC_CheckChild0Integer, 50|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XVTSQRTDP),
                   MVT::i32, 1, 0,
   OPC_EmitIntegerI32, PPC::GPRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 1, 2,
  21,
   OPC_CheckChild0Integer, 51|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XVTSQRTSP),
                   MVT::i32, 1, 0,
   OPC_EmitIntegerI32, PPC::GPRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 1, 2,
  22,
   OPC_CheckChild0Integer, 15|128,90|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSXSIGDP),
                   MVT::i64, 1, 2,
  31,
   OPC_CheckChild0Integer, 14|128,90|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 0, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSXEXPDP),
                   MVT::i64, 1, 2,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 3, 4,
  27,
   OPC_CheckChild0Integer, 66|128,91|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSXEXPQP),
                   MVT::v2i64, 1, 0,
   OPC_EmitIntegerI32, PPC::sub_64,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f64, 2, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
                   MVT::i64, 1, 3,
  63,
   OPC_CheckChild0Integer, 49|128,92|128,0,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild2Integer, 1,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XVTLSBB),
                    MVT::i32, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   27,
    OPC_CheckChild2Integer, 0,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XVTLSBB),
                    MVT::i32, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 4,
   0,
  19,
   OPC_CheckChild0Integer, 19|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCNTMBB),
                   MVT::i64, 2, 0, 1,
  19,
   OPC_CheckChild0Integer, 21|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCNTMBH),
                   MVT::i64, 2, 0, 1,
  19,
   OPC_CheckChild0Integer, 22|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCNTMBW),
                   MVT::i64, 2, 0, 1,
  19,
   OPC_CheckChild0Integer, 20|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCNTMBD),
                   MVT::i64, 2, 0, 1,
  19,
   OPC_CheckChild0Integer, 59|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VGNB),
                   MVT::i64, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 61|128,91|128,0,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::POPCNTB),
                    MVT::i32, 1, 0,
   7, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::POPCNTB8),
                    MVT::i64, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 101|128,89|128,0,
   OPC_RecordChild1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::CDTBCD),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 99|128,89|128,0,
   OPC_RecordChild1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::CBCDTD),
                   MVT::i32, 1, 0,
  13,
   OPC_CheckChild0Integer, 29|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDG6S),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 11|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 59,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DIVWE),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 12|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 59,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DIVWEU),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 96|128,87|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCLZLSBB),
                   MVT::i32, 1, 0,
  13,
   OPC_CheckChild0Integer, 26|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTZLSBB),
                   MVT::i32, 1, 0,
  15,
   OPC_CheckChild0Integer, 98|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 85,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::BPERMD),
                   MVT::i64, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 102|128,89|128,0,
   OPC_RecordChild1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::CDTBCD8),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 100|128,89|128,0,
   OPC_RecordChild1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::CBCDTD8),
                   MVT::i64, 1, 0,
  13,
   OPC_CheckChild0Integer, 30|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDG6S8),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 8|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 59,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DIVDE),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 9|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 59,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DIVDEU),
                   MVT::i64, 2, 0, 1,
  17,
   OPC_CheckChild0Integer, 58|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 53,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MADDHD),
                   MVT::i64, 3, 0, 1, 2,
  17,
   OPC_CheckChild0Integer, 59|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 53,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MADDHDU),
                   MVT::i64, 3, 0, 1, 2,
  17,
   OPC_CheckChild0Integer, 60|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 53,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MADDLD8),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 51|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULHD),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 52|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULHDU),
                   MVT::i64, 2, 0, 1,
  31,
   OPC_CheckChild0Integer, 105|128,89|128,0,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::CMPB8),
                    MVT::i64, 2, 0, 1,
   10, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::CMPB),
                    MVT::i32, 2, 0, 1,
   0,
  12,
   OPC_CheckChild0Integer, 47|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTRACTBM),
                   MVT::i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 49|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTRACTHM),
                   MVT::i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 51|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTRACTWM),
                   MVT::i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 48|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTRACTDM),
                   MVT::i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 50|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTRACTQM),
                   MVT::i32, 1, 0,
  14,
   OPC_CheckChild0Integer, 59|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PDEPD),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 60|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PEXTD),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 104|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::CFUGED),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 109|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::CNTLZDM),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 110|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::CNTTZDM),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 53|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULHW),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 54|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULHWU),
                   MVT::i32, 2, 0, 1,
  9,
   OPC_CheckChild0Integer, 65|128,90|128,0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFMSR),
                   MVT::i32, 0,
  13,
   OPC_CheckChild0Integer, 67|128,90|128,0,
   OPC_EmitIntegerI32, 13|128,2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFTB),
                   MVT::i32, 1, 0,
  21,
   OPC_CheckChild0Integer, 106|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 53,
   OPC_EmitNode1None, TARGET_VAL(PPC::CMPEQB),
                   MVT::i32, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETB8),
                   MVT::i64, 1, 2,
  21,
   OPC_CheckChild0Integer, 72|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 53,
   OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
                   MVT::i32, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETB8),
                   MVT::i64, 1, 2,
  23,
   OPC_CheckChild0Integer, 107|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitNode1None, TARGET_VAL(PPC::CMPRB),
                   MVT::i32, 3, 0, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETB),
                   MVT::i32, 1, 3,
  35,
   OPC_CheckChild0Integer, 26|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBQPO),
                    MVT::f128, 3, 2, 0, 1,
   10,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMADDQPO),
                    MVT::f128, 3, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 4|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMAXDP),
                   MVT::f64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 5|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMINDP),
                   MVT::f64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 28|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSADDQPO),
                   MVT::f128, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 50|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMULQPO),
                   MVT::f128, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 84|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSUBQPO),
                   MVT::f128, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 10|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSDIVQPO),
                   MVT::f128, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 75|128,91|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSQRTQPO),
                   MVT::f128, 1, 0,
  12,
   OPC_CheckChild0Integer, 102|128,91|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVQPDPO),
                   MVT::f64, 1, 0,
  28,
   OPC_CheckChild0Integer, 27|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBMDP),
                    MVT::f64, 3, 0, 1, 2,
   8,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMSUB),
                    MVT::f64, 3, 0, 1, 2,
   0,
  28,
   OPC_CheckChild0Integer, 31|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDMDP),
                    MVT::f64, 3, 0, 1, 2,
   8,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMADD),
                    MVT::f64, 3, 0, 1, 2,
   0,
  22,
   OPC_CheckChild0Integer, 34|128,90|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSREDP),
                    MVT::f64, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRE),
                    MVT::f64, 1, 0,
   0,
  22,
   OPC_CheckChild0Integer, 36|128,90|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRSQRTEDP),
                    MVT::f64, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRSQRTE),
                    MVT::f64, 1, 0,
   0,
  22,
   OPC_CheckChild0Integer, 29|128,90|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNABSDP),
                    MVT::f64, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNABSD),
                    MVT::f64, 1, 0,
   0,
  22,
   OPC_CheckChild0Integer, 30|128,90|128,0,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNABSDPs),
                    MVT::f32, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNABSS),
                    MVT::f32, 1, 0,
   0,
  29,
   OPC_CheckChild0Integer, 28|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBMSP),
                    MVT::f32, 3, 0, 1, 2,
   8,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMSUBS),
                    MVT::f32, 3, 0, 1, 2,
   0,
  29,
   OPC_CheckChild0Integer, 32|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDMSP),
                    MVT::f32, 3, 0, 1, 2,
   8,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMADDS),
                    MVT::f32, 3, 0, 1, 2,
   0,
  23,
   OPC_CheckChild0Integer, 35|128,90|128,0,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRESP),
                    MVT::f32, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRES),
                    MVT::f32, 1, 0,
   0,
  23,
   OPC_CheckChild0Integer, 37|128,90|128,0,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRSQRTESP),
                    MVT::f32, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRSQRTES),
                    MVT::f32, 1, 0,
   0,
  20,
   OPC_CheckChild0Integer, 67|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                   MVT::f64, 1, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSIEXPQP),
                   MVT::f128, 2, 0, 2,
  33,
   OPC_CheckChild0Integer, 45|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, PPC::G8RCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i64, 2, 0, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSIEXPDP),
                   MVT::v4i32, 2, 3, 1,
   OPC_EmitIntegerI32, PPC::F8RCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 4, 5,
  15,
   OPC_CheckChild0Integer, 38|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSELD),
                   MVT::f64, 3, 0, 1, 2,
  11,
   OPC_CheckChild0Integer, 16|128,90|128,0,
   OPC_RecordChild1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                   MVT::f64, 1, 0,
  11,
   OPC_CheckChild0Integer, 17|128,90|128,0,
   OPC_RecordChild1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                   MVT::f64, 1, 0,
  11,
   OPC_CheckChild0Integer, 18|128,90|128,0,
   OPC_RecordChild1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCTID),
                   MVT::f64, 1, 0,
  11,
   OPC_CheckChild0Integer, 19|128,90|128,0,
   OPC_RecordChild1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSXDS),
                   MVT::f64, 1, 0,
  11,
   OPC_CheckChild0Integer, 20|128,90|128,0,
   OPC_RecordChild1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCTIW),
                   MVT::f64, 1, 0,
  11,
   OPC_CheckChild0Integer, 21|128,90|128,0,
   OPC_RecordChild1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSXWS),
                   MVT::f64, 1, 0,
  11,
   OPC_CheckChild0Integer, 22|128,90|128,0,
   OPC_RecordChild1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPUXDS),
                   MVT::f64, 1, 0,
  11,
   OPC_CheckChild0Integer, 23|128,90|128,0,
   OPC_RecordChild1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPUXWS),
                   MVT::f64, 1, 0,
  19,
   OPC_CheckChild0Integer, 53|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVTSTDCSP),
                   MVT::v4i32, 2, 1, 0,
  19,
   OPC_CheckChild0Integer, 52|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVTSTDCDP),
                   MVT::v2i64, 2, 1, 0,
  22,
   OPC_CheckChild0Integer, 68|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                   MVT::v4i32, 3, 0, 1, 3,
  29,
   OPC_CheckChild0Integer, 63|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_EmitConvertToTarget1,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                   MVT::f64, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v2i64, 2, 3, 4,
  14,
   OPC_CheckChild0Integer, 6|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCMPEQDP),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 8|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCMPEQSP),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 10|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCMPGEDP),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 12|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCMPGESP),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 14|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCMPGTDP),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 16|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCMPGTSP),
                   MVT::v4i32, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 20|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVDPSXWS),
                   MVT::v4i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 21|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVDPUXWS),
                   MVT::v4i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 26|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPSXDS),
                   MVT::v2i64, 1, 0,
  12,
   OPC_CheckChild0Integer, 27|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPUXDS),
                   MVT::v2i64, 1, 0,
  12,
   OPC_CheckChild0Integer, 54|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVXEXPDP),
                   MVT::v2i64, 1, 0,
  12,
   OPC_CheckChild0Integer, 55|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVXEXPSP),
                   MVT::v4i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 56|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVXSIGDP),
                   MVT::v2i64, 1, 0,
  12,
   OPC_CheckChild0Integer, 57|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVXSIGSP),
                   MVT::v4i32, 1, 0,
  15,
   OPC_CheckChild0Integer, 69|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 11,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLEQV),
                   MVT::v4i32, 2, 0, 1,
  50,
   OPC_CheckChild0Integer, 108|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 1, 5,
   OPC_EmitConvertToTarget2,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMDMXVI8GERX4),
                   MVT::v1024i1, 5, 0, 6, 7, 8, 9,
  52,
   OPC_CheckChild0Integer, 109|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 6,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_EmitConvertToTarget5,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMDMXVI8GERX4PP),
                   MVT::v1024i1, 6, 0, 1, 7, 8, 9, 10,
  52,
   OPC_CheckChild0Integer, 110|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 6,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_EmitConvertToTarget5,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMDMXVI8GERX4SPP),
                   MVT::v1024i1, 6, 0, 1, 7, 8, 9, 10,
  51,
   OPC_CheckChild0Integer, 98|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 1, 5,
   OPC_EmitConvertToTarget2,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMDMXVBF16GERX2),
                   MVT::v1024i1, 5, 0, 6, 7, 8, 9,
  53,
   OPC_CheckChild0Integer, 102|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 6,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_EmitConvertToTarget5,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMDMXVBF16GERX2PP),
                   MVT::v1024i1, 6, 0, 1, 7, 8, 9, 10,
  53,
   OPC_CheckChild0Integer, 101|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 6,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_EmitConvertToTarget5,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMDMXVBF16GERX2PN),
                   MVT::v1024i1, 6, 0, 1, 7, 8, 9, 10,
  53,
   OPC_CheckChild0Integer, 100|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 6,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_EmitConvertToTarget5,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMDMXVBF16GERX2NP),
                   MVT::v1024i1, 6, 0, 1, 7, 8, 9, 10,
  53,
   OPC_CheckChild0Integer, 99|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 6,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_EmitConvertToTarget5,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMDMXVBF16GERX2NN),
                   MVT::v1024i1, 6, 0, 1, 7, 8, 9, 10,
  51,
   OPC_CheckChild0Integer, 103|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 1, 5,
   OPC_EmitConvertToTarget2,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMDMXVF16GERX2),
                   MVT::v1024i1, 5, 0, 6, 7, 8, 9,
  53,
   OPC_CheckChild0Integer, 107|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 6,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_EmitConvertToTarget5,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMDMXVF16GERX2PP),
                   MVT::v1024i1, 6, 0, 1, 7, 8, 9, 10,
  53,
   OPC_CheckChild0Integer, 106|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 6,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_EmitConvertToTarget5,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMDMXVF16GERX2PN),
                   MVT::v1024i1, 6, 0, 1, 7, 8, 9, 10,
  53,
   OPC_CheckChild0Integer, 105|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 6,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_EmitConvertToTarget5,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMDMXVF16GERX2NP),
                   MVT::v1024i1, 6, 0, 1, 7, 8, 9, 10,
  53,
   OPC_CheckChild0Integer, 104|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 17,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 6,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_EmitConvertToTarget5,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMDMXVF16GERX2NN),
                   MVT::v1024i1, 6, 0, 1, 7, 8, 9, 10,
  96,
   OPC_CheckChild0Integer, 7|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_Scope, 33,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI4GER8),
                    MVT::v512i1, 5, 6, 8, 9, 10, 11,
   33,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI4GER8W),
                    MVT::v512i1, 5, 6, 8, 9, 10, 11,
   0,
  99,
   OPC_CheckChild0Integer, 8|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI4GER8PP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   34,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI4GER8WPP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   0,
  95,
   OPC_CheckChild0Integer, 9|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveParent,
   OPC_Scope, 33,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI8GER4),
                    MVT::v512i1, 5, 6, 8, 9, 10, 11,
   33,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI8GER4W),
                    MVT::v512i1, 5, 6, 8, 9, 10, 11,
   0,
  98,
   OPC_CheckChild0Integer, 10|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI8GER4PP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   34,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI8GER4WPP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   0,
  96,
   OPC_CheckChild0Integer, 5|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 33,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2S),
                    MVT::v512i1, 5, 6, 8, 9, 10, 11,
   33,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2SW),
                    MVT::v512i1, 5, 6, 8, 9, 10, 11,
   0,
  99,
   OPC_CheckChild0Integer, 6|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2SPP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   34,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2SWPP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   0,
  96,
   OPC_CheckChild0Integer, 116|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 33,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2),
                    MVT::v512i1, 5, 6, 8, 9, 10, 11,
   33,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2W),
                    MVT::v512i1, 5, 6, 8, 9, 10, 11,
   0,
  99,
   OPC_CheckChild0Integer, 120|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2PP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   34,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2WPP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   0,
  99,
   OPC_CheckChild0Integer, 119|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2PN),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   34,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2WPN),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   0,
  99,
   OPC_CheckChild0Integer, 118|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2NP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   34,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2WNP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   0,
  99,
   OPC_CheckChild0Integer, 117|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2NN),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   34,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2WNN),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   0,
  96,
   OPC_CheckChild0Integer, 111|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 33,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2),
                    MVT::v512i1, 5, 6, 8, 9, 10, 11,
   33,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2W),
                    MVT::v512i1, 5, 6, 8, 9, 10, 11,
   0,
  99,
   OPC_CheckChild0Integer, 115|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2PP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   34,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2WPP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   0,
  99,
   OPC_CheckChild0Integer, 114|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2PN),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   34,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2WPN),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   0,
  99,
   OPC_CheckChild0Integer, 113|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2NP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   34,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2WNP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   0,
  99,
   OPC_CheckChild0Integer, 112|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2NN),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   34,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2WNN),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   0,
  96,
   OPC_CheckChild0Integer, 3|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 33,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2),
                    MVT::v512i1, 5, 6, 8, 9, 10, 11,
   33,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2W),
                    MVT::v512i1, 5, 6, 8, 9, 10, 11,
   0,
  99,
   OPC_CheckChild0Integer, 11|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI8GER4SPP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   34,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI8GER4WSPP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   0,
  99,
   OPC_CheckChild0Integer, 4|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2PP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   34,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 8,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_EmitConvertToTarget5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2WPP),
                    MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
   0,
  15,
   OPC_CheckChild0Integer, 53|128,87|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::LVSL),
                   MVT::v16i8, 2, 1, 2,
  15,
   OPC_CheckChild0Integer, 54|128,87|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::LVSR),
                   MVT::v16i8, 2, 1, 2,
  41,
   OPC_CheckChild0Integer, 40|128,89|128,0,
   OPC_Scope, 23,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 47|128,89|128,0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_CheckChild2Same, 1,
    OPC_CheckPredicate, 38,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRQ),
                    MVT::v4i32, 2, 0, 1,
   10,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSR),
                    MVT::v4i32, 2, 0, 1,
   0,
  43,
   OPC_CheckChild0Integer, 97|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 1, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXXSHAPAD),
                   MVT::v1024i1, 5, 0, 6, 2, 3, 4,
  68,
   OPC_CheckChild0Integer, 126|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 22,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GER),
                    MVT::v512i1, 4, 0, 5, 6, 7,
   22,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERW),
                    MVT::v512i1, 4, 0, 5, 6, 7,
   0,
  71,
   OPC_CheckChild0Integer, 2|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 23,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERPP),
                    MVT::v512i1, 5, 0, 1, 6, 7, 8,
   23,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERWPP),
                    MVT::v512i1, 5, 0, 1, 6, 7, 8,
   0,
  71,
   OPC_CheckChild0Integer, 1|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 23,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERPN),
                    MVT::v512i1, 5, 0, 1, 6, 7, 8,
   23,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERWPN),
                    MVT::v512i1, 5, 0, 1, 6, 7, 8,
   0,
  71,
   OPC_CheckChild0Integer, 0|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 23,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERNP),
                    MVT::v512i1, 5, 0, 1, 6, 7, 8,
   23,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERWNP),
                    MVT::v512i1, 5, 0, 1, 6, 7, 8,
   0,
  71,
   OPC_CheckChild0Integer, 127|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_Scope, 23,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERNN),
                    MVT::v512i1, 5, 0, 1, 6, 7, 8,
   23,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERWNN),
                    MVT::v512i1, 5, 0, 1, 6, 7, 8,
   0,
  85,
   OPC_CheckChild0Integer, 121|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveParent,
   OPC_Scope, 31,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 4,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GER),
                    MVT::v512i1, 4, 5, 7, 8, 9,
   31,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 4,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERW),
                    MVT::v512i1, 4, 5, 7, 8, 9,
   0,
  88,
   OPC_CheckChild0Integer, 125|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveParent,
   OPC_Scope, 32,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERPP),
                    MVT::v512i1, 5, 0, 6, 8, 9, 10,
   32,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERWPP),
                    MVT::v512i1, 5, 0, 6, 8, 9, 10,
   0,
  88,
   OPC_CheckChild0Integer, 124|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveParent,
   OPC_Scope, 32,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERPN),
                    MVT::v512i1, 5, 0, 6, 8, 9, 10,
   32,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERWPN),
                    MVT::v512i1, 5, 0, 6, 8, 9, 10,
   0,
  88,
   OPC_CheckChild0Integer, 123|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveParent,
   OPC_Scope, 32,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERNP),
                    MVT::v512i1, 5, 0, 6, 8, 9, 10,
   32,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERWNP),
                    MVT::v512i1, 5, 0, 6, 8, 9, 10,
   0,
  88,
   OPC_CheckChild0Integer, 122|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate2,
   OPC_MoveSibling5,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate2,
   OPC_MoveParent,
   OPC_Scope, 32,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERNN),
                    MVT::v512i1, 5, 0, 6, 8, 9, 10,
   32,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitConvertToTarget3,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERWNN),
                    MVT::v512i1, 5, 0, 6, 8, 9, 10,
   0,
  26,
   OPC_CheckChild0Integer, 43|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 46,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSHASIGMAW),
                   MVT::v4i32, 3, 0, 1, 2,
  26,
   OPC_CheckChild0Integer, 42|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 46,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSHASIGMAD),
                   MVT::v2i64, 3, 0, 1, 2,
  32,
   OPC_CheckChild0Integer, 24|128,88|128,0,
   OPC_RecordChild1,
   OPC_Scope, 9,
    OPC_CheckChild2Integer, 0,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTUXS_0),
                    MVT::v4i32, 1, 0,
   14,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTUXS),
                    MVT::v4i32, 2, 1, 0,
   0,
  32,
   OPC_CheckChild0Integer, 23|128,88|128,0,
   OPC_RecordChild1,
   OPC_Scope, 9,
    OPC_CheckChild2Integer, 0,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTSXS_0),
                    MVT::v4i32, 1, 0,
   14,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTSXS),
                    MVT::v4i32, 2, 1, 0,
   0,
  23,
   OPC_CheckChild0Integer, 92|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo2None, TARGET_VAL(PPC::BCDADD_rec),
                   MVT::v16i8, MVT::i32, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 96|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo2None, TARGET_VAL(PPC::BCDSUB_rec),
                   MVT::v16i8, MVT::i32, 3, 0, 1, 2,
  21,
   OPC_CheckChild0Integer, 55|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo2None, TARGET_VAL(PPC::BCDCFN_rec),
                   MVT::v16i8, MVT::i32, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 71|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo2None, TARGET_VAL(PPC::BCDCFZ_rec),
                   MVT::v16i8, MVT::i32, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 58|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo2None, TARGET_VAL(PPC::BCDCTZ_rec),
                   MVT::v16i8, MVT::i32, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 35|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLDBI),
                   MVT::v16i8, 3, 0, 1, 2,
  21,
   OPC_CheckChild0Integer, 45|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRDBI),
                   MVT::v16i8, 3, 0, 1, 2,
  21,
   OPC_CheckChild0Integer, 71|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
                   MVT::v4i32, 3, 0, 2, 1,
  21,
   OPC_CheckChild0Integer, 64|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSD),
                   MVT::v2i64, 3, 0, 2, 1,
  29,
   OPC_CheckChild0Integer, 59|128,87|128,0,
   OPC_RecordChild1,
   OPC_Scope, 13,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRBMI),
                    MVT::v16i8, 1, 1,
   7,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRBM),
                    MVT::v16i8, 1, 0,
   0,
  23,
   OPC_CheckChild0Integer, 62|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                   MVT::v2i64, 4, 0, 1, 2, 3,
  22,
   OPC_CheckChild0Integer, 77|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMSHA2HASH),
                   MVT::v1024i1, 3, 0, 1, 2,
  20,
   OPC_CheckChild0Integer, 78|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMSHA3HASH),
                   MVT::v2048i1, 2, 0, 1,
  29,
   OPC_CheckChild0Integer, 64|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitConvertToTarget1,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXGENPCVBM),
                   MVT::v4i32, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v16i8, 2, 3, 4,
  29,
   OPC_CheckChild0Integer, 66|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitConvertToTarget1,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXGENPCVHM),
                   MVT::v4i32, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v8i16, 2, 3, 4,
  29,
   OPC_CheckChild0Integer, 67|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitConvertToTarget1,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXGENPCVWM),
                   MVT::v4i32, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 3, 4,
  29,
   OPC_CheckChild0Integer, 65|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitConvertToTarget1,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXGENPCVDM),
                   MVT::v4i32, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v2i64, 2, 3, 4,
  59,
   OPC_CheckChild0Integer, 70|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 0, 4,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 1, 6,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 8,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMX),
                   MVT::v4i32, 4, 5, 7, 9, 3,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v16i8, 2, 10, 11,
  16,
   OPC_CheckChild0Integer, 98|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMLADDUHM),
                   MVT::v8i16, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 1|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPERM),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 32|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
                   MVT::v4i32, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 73|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDCUW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 76|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDSBS),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 77|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDSHS),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 78|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDSWS),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 79|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUBS),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 80|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUHS),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 81|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUWS),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 82|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGSB),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 83|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGSH),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 84|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGSW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 85|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGUB),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 86|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGUH),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 87|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGUW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 79|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSB),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 81|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSH),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 82|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 83|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUB),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 85|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUH),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 86|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 90|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSB),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 92|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSH),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 93|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 94|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUB),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 96|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUH),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 97|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUW),
                   MVT::v4i32, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 100|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMSUMMBM),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 101|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMSUMSHM),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 103|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMSUMUBM),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 105|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMSUMUHM),
                   MVT::v4i32, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 107|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULESB),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 109|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULESH),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 111|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULEUB),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 113|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULEUH),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 119|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOSB),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 121|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOSH),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 123|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOUB),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 125|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOUH),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 59|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBCUW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 62|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBSBS),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 63|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBSHS),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 64|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBSWS),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 65|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUBS),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 66|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUHS),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 67|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUWS),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 21|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLB),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 25|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLH),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 28|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 33|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSL),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 37|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLO),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 34|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLB),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 36|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLH),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 39|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 47|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRO),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 41|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAB),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 42|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAH),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 43|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 44|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRB),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 46|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRH),
                   MVT::v8i16, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 49|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 3|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKPX),
                   MVT::v8i16, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 73|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKHPX),
                   MVT::v4i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 74|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKHSB),
                   MVT::v8i16, 1, 0,
  12,
   OPC_CheckChild0Integer, 75|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKHSH),
                   MVT::v4i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 77|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKLPX),
                   MVT::v4i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 78|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKLSB),
                   MVT::v8i16, 1, 0,
  12,
   OPC_CheckChild0Integer, 79|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKLSH),
                   MVT::v4i32, 1, 0,
  15,
   OPC_CheckChild0Integer, 110|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULESW),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 114|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULEUW),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 122|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOSW),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 126|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOUW),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 80|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSD),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 84|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUD),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 91|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSD),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 95|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUD),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 22|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLD),
                   MVT::v2i64, 2, 0, 1,
  17,
   OPC_CheckChild0Integer, 75|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDEUQM),
                   MVT::v1i128, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 72|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDCUQ),
                   MVT::v1i128, 2, 0, 1,
  17,
   OPC_CheckChild0Integer, 74|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDECUQ),
                   MVT::v1i128, 3, 0, 1, 2,
  17,
   OPC_CheckChild0Integer, 61|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBEUQM),
                   MVT::v1i128, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 58|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBCUQ),
                   MVT::v1i128, 2, 0, 1,
  17,
   OPC_CheckChild0Integer, 60|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBECUQ),
                   MVT::v1i128, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 37|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPMSUMB),
                   MVT::v16i8, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 39|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPMSUMH),
                   MVT::v8i16, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 40|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPMSUMW),
                   MVT::v4i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 38|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPMSUMD),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 76|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKHSW),
                   MVT::v2i64, 1, 0,
  13,
   OPC_CheckChild0Integer, 80|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKLSW),
                   MVT::v2i64, 1, 0,
  13,
   OPC_CheckChild0Integer, 58|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VGBBD),
                   MVT::v16i8, 1, 0,
  15,
   OPC_CheckChild0Integer, 89|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VBPERMQ),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 31|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 46,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCIPHER),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 32|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 46,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCIPHERLAST),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 33|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 46,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNCIPHER),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 34|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 46,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNCIPHERLAST),
                   MVT::v2i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 41|128,87|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 46,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSBOX),
                   MVT::v2i64, 1, 0,
  17,
   OPC_CheckChild0Integer, 104|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMSUMUDM),
                   MVT::v1i128, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 53|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2W),
                   MVT::v4i32, 1, 0,
  13,
   OPC_CheckChild0Integer, 56|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2W),
                   MVT::v4i32, 1, 0,
  13,
   OPC_CheckChild0Integer, 52|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2D),
                   MVT::v2i64, 1, 0,
  13,
   OPC_CheckChild0Integer, 55|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2D),
                   MVT::v2i64, 1, 0,
  13,
   OPC_CheckChild0Integer, 57|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSW2D),
                   MVT::v2i64, 1, 0,
  13,
   OPC_CheckChild0Integer, 15|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPRTYBW),
                   MVT::v4i32, 1, 0,
  13,
   OPC_CheckChild0Integer, 13|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPRTYBD),
                   MVT::v2i64, 1, 0,
  13,
   OPC_CheckChild0Integer, 14|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPRTYBQ),
                   MVT::v1i128, 1, 0,
  15,
   OPC_CheckChild0Integer, 88|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VBPERMD),
                   MVT::v2i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 30|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLWNM),
                   MVT::v4i32, 2, 0, 1,
  17,
   OPC_CheckChild0Integer, 29|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLWMI),
                   MVT::v4i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 24|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLDNM),
                   MVT::v2i64, 2, 0, 1,
  17,
   OPC_CheckChild0Integer, 23|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLDMI),
                   MVT::v2i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 38|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLV),
                   MVT::v16i8, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 48|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRV),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 57|128,91|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo2None, TARGET_VAL(PPC::BCDCTN_rec),
                   MVT::v16i8, MVT::i32, 1, 0,
  16,
   OPC_CheckChild0Integer, 94|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo2None, TARGET_VAL(PPC::BCDCPSGN_rec),
                   MVT::v16i8, MVT::i32, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 95|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo2None, TARGET_VAL(PPC::BCDSETSGN_rec),
                   MVT::v16i8, MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 69|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUB),
                   MVT::v16i8, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 70|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUH),
                   MVT::v8i16, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 71|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 18,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUW),
                   MVT::v4i32, 2, 0, 1,
  56,
   OPC_CheckChild0Integer, 35|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 86,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPERMXOR),
                    MVT::v16i8, 3, 0, 1, 2,
   35,
    OPC_CheckPatternPredicate, 87,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXLNOR),
                    MVT::v4i32, 2, 4, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPERMXOR),
                    MVT::v16i8, 3, 0, 1, 7,
   0,
  17,
   OPC_CheckChild0Integer, 36|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 88,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPERMXOR),
                   MVT::v16i8, 3, 0, 1, 2,
  24,
   OPC_CheckChild0Integer, 108|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 50,
   OPC_EmitIntegerI32, PPC::VSRpRCRegClassID,
   OPC_EmitIntegerI32, PPC::sub_vsx1,
   OPC_EmitIntegerI32, PPC::sub_vsx0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v256i1, 5, 2, 1, 3, 0, 4,
  12,
   OPC_CheckChild0Integer, 52|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSTRIBR),
                   MVT::v16i8, 1, 0,
  12,
   OPC_CheckChild0Integer, 50|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSTRIBL),
                   MVT::v16i8, 1, 0,
  12,
   OPC_CheckChild0Integer, 56|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSTRIHR),
                   MVT::v8i16, 1, 0,
  12,
   OPC_CheckChild0Integer, 54|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSTRIHL),
                   MVT::v8i16, 1, 0,
  16,
   OPC_CheckChild0Integer, 62|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBVLX),
                   MVT::v16i8, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 63|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBVRX),
                   MVT::v16i8, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 69|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHVLX),
                   MVT::v8i16, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 70|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHVRX),
                   MVT::v8i16, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 74|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWVLX),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 75|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWVRX),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 60|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBLX),
                   MVT::v16i8, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 61|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBRX),
                   MVT::v16i8, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 67|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHLX),
                   MVT::v8i16, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 68|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHRX),
                   MVT::v8i16, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 72|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWLX),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 73|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWRX),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 65|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDLX),
                   MVT::v2i64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 66|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDRX),
                   MVT::v2i64, 3, 0, 1, 2,
  12,
   OPC_CheckChild0Integer, 33|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXPANDBM),
                   MVT::v16i8, 1, 0,
  12,
   OPC_CheckChild0Integer, 35|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXPANDHM),
                   MVT::v8i16, 1, 0,
  12,
   OPC_CheckChild0Integer, 37|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXPANDWM),
                   MVT::v4i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 34|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXPANDDM),
                   MVT::v2i64, 1, 0,
  12,
   OPC_CheckChild0Integer, 36|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXPANDQM),
                   MVT::v1i128, 1, 0,
  12,
   OPC_CheckChild0Integer, 61|128,87|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRHM),
                   MVT::v8i16, 1, 0,
  12,
   OPC_CheckChild0Integer, 63|128,87|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRWM),
                   MVT::v4i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 60|128,87|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRDM),
                   MVT::v2i64, 1, 0,
  12,
   OPC_CheckChild0Integer, 62|128,87|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRQM),
                   MVT::v1i128, 1, 0,
  16,
   OPC_CheckChild0Integer, 41|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDUBVLX),
                   MVT::v2i64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 42|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDUBVRX),
                   MVT::v2i64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 43|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDUHVLX),
                   MVT::v2i64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 44|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDUHVRX),
                   MVT::v2i64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 45|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDUWVLX),
                   MVT::v2i64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 46|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDUWVRX),
                   MVT::v2i64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 39|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDDVLX),
                   MVT::v2i64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 40|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDDVRX),
                   MVT::v2i64, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 0|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPDEPD),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 2|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPEXTD),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 91|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFUGED),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 95|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCLZDM),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 25|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTZDM),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 93|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCLRLB),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 94|128,87|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCLRRB),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 29|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVESW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 32|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVEUW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 27|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVESD),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 30|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVEUD),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 108|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULESD),
                   MVT::v1i128, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 112|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULEUD),
                   MVT::v1i128, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 120|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOSD),
                   MVT::v1i128, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 124|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOUD),
                   MVT::v1i128, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 99|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMSUMCUD),
                   MVT::v1i128, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 28|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVESQ),
                   MVT::v1i128, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 31|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVEUQ),
                   MVT::v1i128, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 54|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSD2Q),
                   MVT::v1i128, 1, 0,
  14,
   OPC_CheckChild0Integer, 27|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLQNM),
                   MVT::v1i128, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 26|128,89|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLQMI),
                   MVT::v1i128, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 116|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULHSW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 118|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULHUW),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 115|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULHSD),
                   MVT::v2i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 117|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULHUD),
                   MVT::v2i64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 61|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXBLENDVW),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 59|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXBLENDVD),
                   MVT::v2i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 75|128,90|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMMR),
                   MVT::v1024i1, 1, 0,
  15,
   OPC_CheckChild0Integer, 79|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXOR),
                   MVT::v1024i1, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 76|128,90|128,0,
   OPC_CheckPatternPredicate, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMSETDMRZ),
                   MVT::v1024i1, 0,
  15,
   OPC_CheckChild0Integer, 43|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRLW),
                   MVT::v4i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 41|128,91|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXMFACC),
                   MVT::v512i1, 1, 0,
  13,
   OPC_CheckChild0Integer, 42|128,91|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 22,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXMTACC),
                   MVT::v512i1, 1, 0,
  22,
   OPC_CheckChild0Integer, 43|128,91|128,0,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSETACCZ),
                    MVT::v512i1, 0,
   7,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXXSETACCZ),
                    MVT::v512i1, 0,
   0,
  24,
   OPC_CheckChild0Integer, 90|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXVI8GERX4),
                   MVT::v1024i1, 2, 0, 3,
  26,
   OPC_CheckChild0Integer, 91|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXVI8GERX4PP),
                   MVT::v1024i1, 3, 0, 1, 4,
  26,
   OPC_CheckChild0Integer, 92|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXVI8GERX4SPP),
                   MVT::v1024i1, 3, 0, 1, 4,
  24,
   OPC_CheckChild0Integer, 80|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXVBF16GERX2),
                   MVT::v1024i1, 2, 0, 3,
  26,
   OPC_CheckChild0Integer, 84|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXVBF16GERX2PP),
                   MVT::v1024i1, 3, 0, 1, 4,
  26,
   OPC_CheckChild0Integer, 83|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXVBF16GERX2PN),
                   MVT::v1024i1, 3, 0, 1, 4,
  26,
   OPC_CheckChild0Integer, 82|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXVBF16GERX2NP),
                   MVT::v1024i1, 3, 0, 1, 4,
  26,
   OPC_CheckChild0Integer, 81|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXVBF16GERX2NN),
                   MVT::v1024i1, 3, 0, 1, 4,
  24,
   OPC_CheckChild0Integer, 85|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXVF16GERX2),
                   MVT::v1024i1, 2, 0, 3,
  26,
   OPC_CheckChild0Integer, 89|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXVF16GERX2PP),
                   MVT::v1024i1, 3, 0, 1, 4,
  26,
   OPC_CheckChild0Integer, 88|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXVF16GERX2PN),
                   MVT::v1024i1, 3, 0, 1, 4,
  26,
   OPC_CheckChild0Integer, 87|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXVF16GERX2NP),
                   MVT::v1024i1, 3, 0, 1, 4,
  26,
   OPC_CheckChild0Integer, 86|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXVF16GERX2NN),
                   MVT::v1024i1, 3, 0, 1, 4,
  46,
   OPC_CheckChild0Integer, 27|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GER),
                    MVT::v512i1, 2, 0, 3,
   18,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERW),
                    MVT::v512i1, 2, 0, 3,
   0,
  49,
   OPC_CheckChild0Integer, 31|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERPP),
                    MVT::v512i1, 3, 0, 1, 4,
   19,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERWPP),
                    MVT::v512i1, 3, 0, 1, 4,
   0,
  49,
   OPC_CheckChild0Integer, 30|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERPN),
                    MVT::v512i1, 3, 0, 1, 4,
   19,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERWPN),
                    MVT::v512i1, 3, 0, 1, 4,
   0,
  49,
   OPC_CheckChild0Integer, 29|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERNP),
                    MVT::v512i1, 3, 0, 1, 4,
   19,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERWNP),
                    MVT::v512i1, 3, 0, 1, 4,
   0,
  49,
   OPC_CheckChild0Integer, 28|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERNN),
                    MVT::v512i1, 3, 0, 1, 4,
   19,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERWNN),
                    MVT::v512i1, 3, 0, 1, 4,
   0,
  31,
   OPC_CheckChild0Integer, 23|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 39,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 0, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPBF16),
                   MVT::v4i32, 1, 2,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v16i8, 2, 3, 4,
  31,
   OPC_CheckChild0Integer, 18|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 39,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 0, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::XVCVBF16SPN),
                   MVT::v4i32, 1, 2,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v16i8, 2, 3, 4,
  64,
   OPC_CheckChild0Integer, 36|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI4GER8),
                    MVT::v512i1, 2, 3, 5,
   27,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI4GER8W),
                    MVT::v512i1, 2, 3, 5,
   0,
  67,
   OPC_CheckChild0Integer, 37|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI4GER8PP),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI4GER8WPP),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  64,
   OPC_CheckChild0Integer, 38|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI8GER4),
                    MVT::v512i1, 2, 3, 5,
   27,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI8GER4W),
                    MVT::v512i1, 2, 3, 5,
   0,
  67,
   OPC_CheckChild0Integer, 39|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI8GER4PP),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI8GER4WPP),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  64,
   OPC_CheckChild0Integer, 34|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2S),
                    MVT::v512i1, 2, 3, 5,
   27,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2SW),
                    MVT::v512i1, 2, 3, 5,
   0,
  67,
   OPC_CheckChild0Integer, 35|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2SPP),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2SWPP),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  64,
   OPC_CheckChild0Integer, 17|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2),
                    MVT::v512i1, 2, 3, 5,
   27,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2W),
                    MVT::v512i1, 2, 3, 5,
   0,
  67,
   OPC_CheckChild0Integer, 21|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2PP),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2WPP),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  67,
   OPC_CheckChild0Integer, 20|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2PN),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2WPN),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  67,
   OPC_CheckChild0Integer, 19|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2NP),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2WNP),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  67,
   OPC_CheckChild0Integer, 18|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2NN),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2WNN),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  64,
   OPC_CheckChild0Integer, 22|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GER),
                    MVT::v512i1, 2, 3, 5,
   27,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERW),
                    MVT::v512i1, 2, 3, 5,
   0,
  67,
   OPC_CheckChild0Integer, 26|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERPP),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERWPP),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  67,
   OPC_CheckChild0Integer, 25|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERPN),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERWPN),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  67,
   OPC_CheckChild0Integer, 24|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERNP),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERWNP),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  67,
   OPC_CheckChild0Integer, 23|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERNN),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERWNN),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  64,
   OPC_CheckChild0Integer, 12|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2),
                    MVT::v512i1, 2, 3, 5,
   27,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2W),
                    MVT::v512i1, 2, 3, 5,
   0,
  67,
   OPC_CheckChild0Integer, 16|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2PP),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2WPP),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  67,
   OPC_CheckChild0Integer, 15|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2PN),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2WPN),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  67,
   OPC_CheckChild0Integer, 14|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2NP),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2WNP),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  67,
   OPC_CheckChild0Integer, 13|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2NN),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2WNN),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  64,
   OPC_CheckChild0Integer, 32|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2),
                    MVT::v512i1, 2, 3, 5,
   27,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 2,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2W),
                    MVT::v512i1, 2, 3, 5,
   0,
  67,
   OPC_CheckChild0Integer, 33|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2PP),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2WPP),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  67,
   OPC_CheckChild0Integer, 40|128,91|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI8GER4SPP),
                    MVT::v512i1, 3, 0, 4, 6,
   28,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI8GER4WSPP),
                    MVT::v512i1, 3, 0, 4, 6,
   0,
  52,
   OPC_CheckChild0Integer, 58|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 0, 3,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 1, 5,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 7,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXBLENDVB),
                   MVT::v4i32, 3, 4, 6, 8,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v16i8, 2, 9, 10,
  52,
   OPC_CheckChild0Integer, 60|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 0, 3,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 1, 5,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 2, 7,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXBLENDVH),
                   MVT::v4i32, 3, 4, 6, 8,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v8i16, 2, 9, 10,
  35|128,1,
   OPC_CheckChild0Integer, 71|128,90|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_Scope, 59,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v256i1, 0,
    OPC_EmitIntegerI32, PPC::sub_vsx1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v256i1, 3, 4, 1, 5,
    OPC_EmitIntegerI32, PPC::sub_vsx0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v256i1, 3, 6, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v256i1, 0,
    OPC_EmitIntegerI32, PPC::sub_vsx1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v256i1, 3, 9, 3, 10,
    OPC_EmitIntegerI32, PPC::sub_vsx0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v256i1, 3, 11, 2, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXXINSTDMR512),
                    MVT::v512i1, 2, 8, 13,
   92,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::UACCRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v256i1, 0,
    OPC_EmitIntegerI32, PPC::sub_vsx1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v256i1, 3, 5, 1, 6,
    OPC_EmitIntegerI32, PPC::sub_vsx0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v256i1, 3, 7, 0, 8,
    OPC_EmitNode1None, TARGET_VAL(PPC::KILL_PAIR),
                    MVT::v256i1, 1, 9,
    OPC_EmitIntegerI32, PPC::sub_pair0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v256i1, 0,
    OPC_EmitIntegerI32, PPC::sub_vsx1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v256i1, 3, 12, 3, 13,
    OPC_EmitIntegerI32, PPC::sub_vsx0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v256i1, 3, 14, 2, 15,
    OPC_EmitNode1None, TARGET_VAL(PPC::KILL_PAIR),
                    MVT::v256i1, 1, 16,
    OPC_EmitIntegerI32, PPC::sub_pair1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v512i1, 5, 4, 10, 11, 17, 18,
    OPC_EmitNode1None, TARGET_VAL(PPC::BUILD_UACC),
                    MVT::v512i1, 1, 19,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXMTACC),
                    MVT::v512i1, 1, 20,
   0,
  13,
   OPC_CheckChild0Integer, 19|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVDPSP),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 24|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                   22|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 28|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXDSP),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 30|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXDSP),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 29|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
                   22|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 31|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
                   22|128,1, 1, 0,
  15,
   OPC_CheckChild0Integer, 36|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMAXDP),
                   22|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 38|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMINDP),
                   22|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 37|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMAXSP),
                   4|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 39|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMINSP),
                   4|128,1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 25|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPHP),
                   4|128,1, 1, 0,
  15,
   OPC_CheckChild0Integer, 34|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVIEXPDP),
                   22|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 35|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVIEXPSP),
                   4|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 33|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVDIVSP),
                   4|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 32|128,92|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVDIVDP),
                   22|128,1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 42|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRESP),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 41|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVREDP),
                   22|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 46|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSQRTESP),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 45|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSQRTEDP),
                   22|128,1, 1, 0,
  22,
   OPC_CheckChild0Integer, 22|128,92|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVHPSP),
                   4|128,1, 1, 2,
  34,
   OPC_CheckChild0Integer, 90|128,87|128,0,
   OPC_RecordChild1,
   OPC_Scope, 10,
    OPC_CheckChild2Integer, 0,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFSX_0),
                    4|128,1, 1, 0,
   15,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFSX),
                    4|128,1, 2, 1, 0,
   0,
  34,
   OPC_CheckChild0Integer, 92|128,87|128,0,
   OPC_RecordChild1,
   OPC_Scope, 10,
    OPC_CheckChild2Integer, 0,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFUX_0),
                    4|128,1, 1, 0,
   15,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFUX),
                    4|128,1, 2, 1, 0,
   0,
  13,
   OPC_CheckChild0Integer, 38|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXPTEFP),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 76|128,88|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VLOGEFP),
                   4|128,1, 1, 0,
  15,
   OPC_CheckChild0Integer, 78|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXFP),
                   4|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 89|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINFP),
                   4|128,1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 16|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VREFP),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 17|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIM),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 18|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIN),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 19|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIP),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 20|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIZ),
                   4|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 31|128,89|128,0,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRSQRTEFP),
                   4|128,1, 1, 0,
  17,
   OPC_CheckChild0Integer, 77|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMADDFP),
                   4|128,1, 3, 0, 1, 2,
  17,
   OPC_CheckChild0Integer, 127|128,88|128,0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNMSUBFP),
                   4|128,1, 3, 0, 1, 2,
  0,
 46, TARGET_VAL(PPCISD::FTSQRT),
  OPC_RecordChild0,
  OPC_Scope, 20,
   OPC_CheckChild0Type, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSTSQRTDP),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FTSQRT),
                    MVT::i32, 1, 0,
   0,
  10,
   OPC_CheckChild0Type, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVTSQRTDP),
                   MVT::i32, 1, 0,
  10,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVTSQRTSP),
                   MVT::i32, 1, 0,
  0,
 25, TARGET_VAL(PPCISD::MFVSR),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f64,
  OPC_SwitchType , 8, MVT::i64,
   OPC_CheckPatternPredicate, 29,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
                   MVT::i64, 1, 0,
  8, MVT::i32,
   OPC_CheckPatternPredicate, 29,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                   MVT::i32, 1, 0,
  0,
 6|128,12, TARGET_VAL(ISD::BITCAST),
  OPC_Scope, 59|128,1,
   OPC_RecordChild0,
   OPC_SwitchType , 10, MVT::i64,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 0,
   25, MVT::i32,
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                    MVT::v4i32, 1, 0,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                    MVT::i32, 1, 3,
   9, MVT::f64,
    OPC_CheckChild0TypeI64,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRD),
                    MVT::f64, 1, 0,
   91, MVT::f32,
    OPC_CheckChild0TypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v2i64, 0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                    MVT::f64, 1, 4,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v2i64, 3, 1, 5, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v2i64, 0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                    MVT::f64, 1, 11,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v2i64, 3, 8, 12, 13,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                    MVT::v4i32, 3, 7, 14, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                    MVT::f32, 1, 16,
   39, MVT::f128,
    OPC_Scope, 6,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    6,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    6,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    7,
     OPC_CheckChild0Type, 4|128,1,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    7,
     OPC_CheckChild0Type, 22|128,1,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  70,
   OPC_MoveChild0,
   OPC_CheckImmAllOnesV,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_SwitchType , 7, MVT::v4i32,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLEQVOnes),
                    MVT::v4i32, 0,
   16, MVT::v1i128,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXLEQVOnes),
                    MVT::v4i32, 0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v1i128, 2, 0, 1,
   16, MVT::v2i64,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXLEQVOnes),
                    MVT::v4i32, 0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i64, 2, 0, 1,
   16, MVT::v8i16,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXLEQVOnes),
                    MVT::v4i32, 0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 0, 1,
   0,
  25|128,4,
   OPC_RecordChild0,
   OPC_Scope, 79,
    OPC_CheckChild0Type, 22|128,1,
    OPC_SwitchType , 10, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
    10, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 0, 1,
    10, MVT::v16i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 0, 1,
    10, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
    10, MVT::v1i128,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v1i128, 2, 0, 1,
    11, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 0, 1,
    0,
   63,
    OPC_CheckChild0Type, 4|128,1,
    OPC_SwitchType , 18, MVT::v2i64,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 1,
     4,
      OPC_CheckPatternPredicate3,
      OPC_CompleteMatch, 1, 0,

     0,
    4, MVT::v16i8,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    4, MVT::v8i16,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    4, MVT::v4i32,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    4, MVT::v1i128,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    11, 22|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 0, 1,
    0,
   56,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_SwitchType , 18, MVT::v2i64,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 1,
     4,
      OPC_CheckPatternPredicate3,
      OPC_CompleteMatch, 1, 0,

     0,
    4, MVT::v16i8,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    4, MVT::v8i16,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    4, MVT::v1i128,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    11, 22|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 0, 1,
    0,
   56,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_SwitchType , 18, MVT::v2i64,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 1,
     4,
      OPC_CheckPatternPredicate3,
      OPC_CompleteMatch, 1, 0,

     0,
    4, MVT::v16i8,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    4, MVT::v4i32,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    4, MVT::v1i128,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    11, 22|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 0, 1,
    0,
   56,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_SwitchType , 18, MVT::v2i64,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i64, 2, 0, 1,
     4,
      OPC_CheckPatternPredicate3,
      OPC_CompleteMatch, 1, 0,

     0,
    4, MVT::v8i16,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    4, MVT::v4i32,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    4, MVT::v1i128,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    11, 22|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 0, 1,
    0,
   98,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_SwitchType , 18, MVT::v4i32,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 1,
     4,
      OPC_CheckPatternPredicate3,
      OPC_CompleteMatch, 1, 0,

     0,
    18, MVT::v8i16,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 0, 1,
     4,
      OPC_CheckPatternPredicate3,
      OPC_CompleteMatch, 1, 0,

     0,
    18, MVT::v16i8,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 0, 1,
     4,
      OPC_CheckPatternPredicate3,
      OPC_CompleteMatch, 1, 0,

     0,
    4, MVT::v1i128,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    11, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 0, 1,
    11, 22|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 0, 1,
    0,
   76,
    OPC_CheckChild0Type, MVT::f128,
    OPC_SwitchType , 10, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i64, 2, 0, 1,
    18, MVT::v4i32,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 1,
     4,
      OPC_CheckPatternPredicate3,
      OPC_CompleteMatch, 1, 0,

     0,
    18, MVT::v8i16,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 0, 1,
     4,
      OPC_CheckPatternPredicate3,
      OPC_CompleteMatch, 1, 0,

     0,
    18, MVT::v16i8,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 0, 1,
     4,
      OPC_CheckPatternPredicate3,
      OPC_CompleteMatch, 1, 0,

     0,
    0,
   42,
    OPC_CheckChild0Type, MVT::v1i128,
    OPC_SwitchType , 4, MVT::v16i8,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    4, MVT::v8i16,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    4, MVT::v4i32,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    4, MVT::v2i64,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    11, 22|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     22|128,1, 2, 0, 1,
    0,
   0,
  26|128,5,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 111|128,2, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 49|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 77|128,88|128,0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 77, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_CheckChild0Integer, 39|128,89|128,0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_CheckChild0Integer, 39|128,89|128,0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNMSUBFP),
                      4|128,1, 3, 0, 1, 2,
     77, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_CheckChild0Integer, 39|128,89|128,0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_CheckChild0Integer, 39|128,89|128,0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNMSUBFP),
                      4|128,1, 3, 0, 1, 2,
     0,
    51|128,1, TARGET_VAL(ISD::FMA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 80, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_CheckChild0Integer, 39|128,89|128,0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_CheckChild0Integer, 39|128,89|128,0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNMSUBFP),
                      4|128,1, 3, 0, 1, 2,
     80, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_CheckChild0Integer, 39|128,89|128,0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_CheckChild0Integer, 39|128,89|128,0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNMSUBFP),
                      4|128,1, 3, 0, 1, 2,
     0,
    0,
   28|128,2, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 39|128,89|128,0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckImmAllOnesV,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckImmAllOnesV,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 123, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 77|128,88|128,0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 50, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_CheckChild0Integer, 39|128,89|128,0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNMSUBFP),
                      4|128,1, 3, 0, 1, 2,
     50, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_CheckChild0Integer, 39|128,89|128,0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNMSUBFP),
                      4|128,1, 3, 0, 1, 2,
     0,
    125, TARGET_VAL(ISD::FMA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 53, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_CheckChild0Integer, 39|128,89|128,0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNMSUBFP),
                      4|128,1, 3, 0, 1, 2,
     53, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_CheckChild0Integer, 39|128,89|128,0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckImmAllOnesV,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNMSUBFP),
                      4|128,1, 3, 0, 1, 2,
     0,
    0,
   0,
  72,
   OPC_RecordChild0,
   OPC_Scope, 9,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate3,
    OPC_CompleteMatch, 1, 0,

   9,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate3,
    OPC_CompleteMatch, 1, 0,

   9,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate3,
    OPC_CompleteMatch, 1, 0,

   9,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate3,
    OPC_CompleteMatch, 1, 0,

   9,
    OPC_CheckChild0Type, MVT::v1i128,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate3,
    OPC_CompleteMatch, 1, 0,

   18,
    OPC_CheckChild0Type, MVT::f128,
    OPC_SwitchType , 4, 4|128,1,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    4, 22|128,1,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  0,
 56, TARGET_VAL(ISD::STRICT_LRINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckTypeI64,
  OPC_Scope, 20,
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
                   MVT::f64, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                   MVT::i64, 1, 2,
   OPC_CompleteMatch, 1, 3,

  29,
   OPC_CheckChild1Type, MVT::f32,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, PPC::F8RCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
                   MVT::f64, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                   MVT::i64, 1, 4,
   OPC_CompleteMatch, 1, 5,

  0,
 56, TARGET_VAL(ISD::STRICT_LLRINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckTypeI64,
  OPC_Scope, 20,
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
                   MVT::f64, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                   MVT::i64, 1, 2,
   OPC_CompleteMatch, 1, 3,

  29,
   OPC_CheckChild1Type, MVT::f32,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, PPC::F8RCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
                   MVT::f64, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                   MVT::i64, 1, 4,
   OPC_CompleteMatch, 1, 5,

  0,
 45, TARGET_VAL(ISD::FP_TO_FP16),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 15,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckPatternPredicate7,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPHP),
                   MVT::f64, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                   MVT::i32, 1, 1,
  24,
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckPatternPredicate7,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 0, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPHP),
                   MVT::f64, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                   MVT::i32, 1, 3,
  0,
 99, TARGET_VAL(ISD::STRICT_FP_TO_SINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 48,
   OPC_CheckChild1Type, MVT::f128,
   OPC_SwitchType , 14, MVT::i64,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVQPSDZ),
                    MVT::v4i32, 1, 1,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFVRD),
                    MVT::i64, 1, 2,
   26, MVT::i32,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVQPSWZ),
                    MVT::f128, 1, 1,
    OPC_EmitIntegerI32, PPC::VFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
                    MVT::i32, 1, 4,
    OPC_CompleteMatch, 1, 5,

   0,
  11,
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate5,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDCTSIZ),
                   MVT::i32, 1, 1,
  11,
   OPC_CheckChild1Type, MVT::f32,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate5,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSCTSIZ),
                   MVT::i32, 1, 1,
  10,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVDPSXDS),
                   MVT::v2i64, 1, 1,
  10,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSPSXWS),
                   MVT::v4i32, 1, 1,
  0,
 103|128,1, TARGET_VAL(ISD::FP_TO_SINT),
  OPC_Scope, 69,
   OPC_RecordChild0,
   OPC_Scope, 43,
    OPC_CheckChild0Type, MVT::f128,
    OPC_SwitchType , 13, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVQPSDZ),
                     MVT::v4i32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVRD),
                     MVT::i64, 1, 1,
    22, MVT::i32,
     OPC_CheckPatternPredicate7,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVQPSWZ),
                     MVT::f128, 1, 0,
     OPC_EmitIntegerI32, PPC::VFRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                     MVT::i32, 1, 3,
    0,
   10,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDCTSIZ),
                    MVT::i32, 1, 0,
   10,
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSCTSIZ),
                    MVT::i32, 1, 0,
   0,
  125,
   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, 54,
    OPC_CheckChild1Integer, 0,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
    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_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 19,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPSXDS),
                     MVT::v2i64, 1, 0,
    18,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 0, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPSXDS),
                     MVT::v2i64, 1, 2,
    0,
   54,
    OPC_CheckChild1Integer, 1,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 3,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPSXDS),
                     MVT::v2i64, 1, 0,
    18,
     OPC_CheckPatternPredicate, 19,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 0, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPSXDS),
                     MVT::v2i64, 1, 2,
    0,
   0,
  32,
   OPC_RecordChild0,
   OPC_SwitchType , 7, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVDPSXDS),
                    MVT::v2i64, 1, 0,
   18, MVT::v4i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPSXWS),
                     MVT::v4i32, 1, 0,
    7,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTSXS_0),
                     MVT::v4i32, 1, 0,
    0,
   0,
  0,
 99, TARGET_VAL(ISD::STRICT_FP_TO_UINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 48,
   OPC_CheckChild1Type, MVT::f128,
   OPC_SwitchType , 14, MVT::i64,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVQPUDZ),
                    MVT::v4i32, 1, 1,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFVRD),
                    MVT::i64, 1, 2,
   26, MVT::i32,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVQPUWZ),
                    MVT::f128, 1, 1,
    OPC_EmitIntegerI32, PPC::VFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
                    MVT::i32, 1, 4,
    OPC_CompleteMatch, 1, 5,

   0,
  11,
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate5,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDCTUIZ),
                   MVT::i32, 1, 1,
  11,
   OPC_CheckChild1Type, MVT::f32,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate5,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSCTUIZ),
                   MVT::i32, 1, 1,
  10,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVDPUXDS),
                   MVT::v2i64, 1, 1,
  10,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSPUXWS),
                   MVT::v4i32, 1, 1,
  0,
 103|128,1, TARGET_VAL(ISD::FP_TO_UINT),
  OPC_Scope, 69,
   OPC_RecordChild0,
   OPC_Scope, 43,
    OPC_CheckChild0Type, MVT::f128,
    OPC_SwitchType , 13, MVT::i64,
     OPC_CheckPatternPredicate7,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVQPUDZ),
                     MVT::v4i32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVRD),
                     MVT::i64, 1, 1,
    22, MVT::i32,
     OPC_CheckPatternPredicate7,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVQPUWZ),
                     MVT::f128, 1, 0,
     OPC_EmitIntegerI32, PPC::VFRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
                     MVT::i32, 1, 3,
    0,
   10,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDCTUIZ),
                    MVT::i32, 1, 0,
   10,
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSCTUIZ),
                    MVT::i32, 1, 0,
   0,
  125,
   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, 54,
    OPC_CheckChild1Integer, 0,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
    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_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 19,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPUXDS),
                     MVT::v2i64, 1, 0,
    18,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 0, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPUXDS),
                     MVT::v2i64, 1, 2,
    0,
   54,
    OPC_CheckChild1Integer, 1,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 3,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPUXDS),
                     MVT::v2i64, 1, 0,
    18,
     OPC_CheckPatternPredicate, 19,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 0, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPUXDS),
                     MVT::v2i64, 1, 2,
    0,
   0,
  32,
   OPC_RecordChild0,
   OPC_SwitchType , 7, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVDPUXDS),
                    MVT::v2i64, 1, 0,
   18, MVT::v4i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPUXWS),
                     MVT::v4i32, 1, 0,
    7,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTUXS_0),
                     MVT::v4i32, 1, 0,
    0,
   0,
  0,
 8|128,1, TARGET_VAL(ISD::STRICT_LROUND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 56,
   OPC_CheckChild1Type, MVT::f64,
   OPC_SwitchType , 24, MVT::i64,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPI),
                    MVT::f64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
                    MVT::f64, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 3,
    OPC_CompleteMatch, 1, 4,

   24, MVT::i32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPI),
                    MVT::f64, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCTIW),
                    MVT::f64, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
                    MVT::i32, 1, 3,
    OPC_CompleteMatch, 1, 4,

   0,
  74,
   OPC_CheckChild1Type, MVT::f32,
   OPC_SwitchType , 33, MVT::i64,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPI),
                    MVT::f64, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
                    MVT::f64, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                    MVT::i64, 1, 5,
    OPC_CompleteMatch, 1, 6,

   33, MVT::i32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPI),
                    MVT::f64, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCTIW),
                    MVT::f64, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
                    MVT::i32, 1, 5,
    OPC_CompleteMatch, 1, 6,

   0,
  0,
 68, TARGET_VAL(ISD::STRICT_LLROUND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckTypeI64,
  OPC_Scope, 26,
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPI),
                   MVT::f64, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
                   MVT::f64, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                   MVT::i64, 1, 3,
   OPC_CompleteMatch, 1, 4,

  35,
   OPC_CheckChild1Type, MVT::f32,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 1, 2,
   OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPI),
                   MVT::f64, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
                   MVT::f64, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                   MVT::i64, 1, 5,
   OPC_CompleteMatch, 1, 6,

  0,
 74, TARGET_VAL(ISD::PREFETCH),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 44,
   OPC_CheckChild2Integer, 0,
   OPC_CheckChild2TypeI32,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 15,
    OPC_CheckChild4Integer, 1,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBT), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 4, 2, 3,
   17,
    OPC_CheckChild4Integer, 0,
    OPC_CheckPatternPredicate, 89,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0, TARGET_VAL(PPC::ICBT), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 4, 2, 3,
   0,
  23,
   OPC_CheckChild2Integer, 1,
   OPC_CheckChild2TypeI32,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckChild4Integer, 1,
   OPC_CheckComplexPat7, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBTST), 0|OPFL_Chain|OPFL_MemRefs,
                   3, 4, 2, 3,
  0,
 45|128,15, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
  OPC_RecordNode,
  OPC_Scope, 17,
   OPC_CheckChild1Integer, 55|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LDBRX),
                   MVT::i64, 2, 2, 3,
  15,
   OPC_CheckChild1Integer, 51|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LDARX),
                   MVT::i64, 2, 2, 3,
  15,
   OPC_CheckChild1Integer, 53|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LHBRX),
                   MVT::i32, 2, 2, 3,
  15,
   OPC_CheckChild1Integer, 54|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LWBRX),
                   MVT::i32, 2, 2, 3,
  15,
   OPC_CheckChild1Integer, 56|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LWARX),
                   MVT::i32, 2, 2, 3,
  15,
   OPC_CheckChild1Integer, 50|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LBARX),
                   MVT::i32, 2, 2, 3,
  17,
   OPC_CheckChild1Integer, 52|128,90|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 65,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LHARX),
                   MVT::i32, 2, 2, 3,
  32,
   OPC_CheckChild1Integer, 77|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1Chain, TARGET_VAL(PPC::STDCX),
                   MVT::i32, 3, 2, 3, 4,
   OPC_EmitIntegerI32, 31,
   OPC_EmitIntegerI32, 31,
   OPC_EmitIntegerI32, 31,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::RLWINM),
                   MVT::i32, 4, 5, 6, 7, 8,
  32,
   OPC_CheckChild1Integer, 83|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1Chain, TARGET_VAL(PPC::STWCX),
                   MVT::i32, 3, 2, 3, 4,
   OPC_EmitIntegerI32, 31,
   OPC_EmitIntegerI32, 31,
   OPC_EmitIntegerI32, 31,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::RLWINM),
                   MVT::i32, 4, 5, 6, 7, 8,
  32,
   OPC_CheckChild1Integer, 76|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1Chain, TARGET_VAL(PPC::STBCX),
                   MVT::i32, 3, 2, 3, 4,
   OPC_EmitIntegerI32, 31,
   OPC_EmitIntegerI32, 31,
   OPC_EmitIntegerI32, 31,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::RLWINM),
                   MVT::i32, 4, 5, 6, 7, 8,
  34,
   OPC_CheckChild1Integer, 79|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 65,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1Chain, TARGET_VAL(PPC::STHCX),
                   MVT::i32, 3, 2, 3, 4,
   OPC_EmitIntegerI32, 31,
   OPC_EmitIntegerI32, 31,
   OPC_EmitIntegerI32, 31,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::RLWINM),
                   MVT::i32, 4, 5, 6, 7, 8,
  32,
   OPC_CheckChild1Integer, 85|128,89|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_ADD_I128), 0|OPFL_Chain,
                  3, 119|128,1, 119|128,1, MVT::i32, 4, 4, 5, 2, 3,
   OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
                   MVT::i64, MVT::i64, 1, 6,
  32,
   OPC_CheckChild1Integer, 89|128,89|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_SUB_I128), 0|OPFL_Chain,
                  3, 119|128,1, 119|128,1, MVT::i32, 4, 4, 5, 2, 3,
   OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
                   MVT::i64, MVT::i64, 1, 6,
  32,
   OPC_CheckChild1Integer, 91|128,89|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_XOR_I128), 0|OPFL_Chain,
                  3, 119|128,1, 119|128,1, MVT::i32, 4, 4, 5, 2, 3,
   OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
                   MVT::i64, MVT::i64, 1, 6,
  32,
   OPC_CheckChild1Integer, 86|128,89|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_AND_I128), 0|OPFL_Chain,
                  3, 119|128,1, 119|128,1, MVT::i32, 4, 4, 5, 2, 3,
   OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
                   MVT::i64, MVT::i64, 1, 6,
  32,
   OPC_CheckChild1Integer, 87|128,89|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_NAND_I128), 0|OPFL_Chain,
                  3, 119|128,1, 119|128,1, MVT::i32, 4, 4, 5, 2, 3,
   OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
                   MVT::i64, MVT::i64, 1, 6,
  32,
   OPC_CheckChild1Integer, 88|128,89|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_OR_I128), 0|OPFL_Chain,
                  3, 119|128,1, 119|128,1, MVT::i32, 4, 4, 5, 2, 3,
   OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
                   MVT::i64, MVT::i64, 1, 6,
  32,
   OPC_CheckChild1Integer, 90|128,89|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_SWAP_I128), 0|OPFL_Chain,
                  3, 119|128,1, 119|128,1, MVT::i32, 4, 4, 5, 2, 3,
   OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
                   MVT::i64, MVT::i64, 1, 6,
  36,
   OPC_CheckChild1Integer, 108|128,89|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I128), 0|OPFL_Chain,
                  3, 119|128,1, 119|128,1, MVT::i32, 6, 6, 7, 2, 3, 4, 5,
   OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
                   MVT::i64, MVT::i64, 1, 8,
  46,
   OPC_CheckChild1Integer, 83|128,89|128,0,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::LQ),
                    119|128,1, 2, 2, 3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
                    MVT::i64, MVT::i64, 1, 4,
   18,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::LQX_PSEUDO),
                    119|128,1, 2, 2, 3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
                    MVT::i64, MVT::i64, 1, 4,
   0,
  34,
   OPC_CheckChild1Integer, 101|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_SwitchType , 10, MVT::i32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::DecreaseCTRloop),
                    MVT::i1, MVT::i32, 1, 2,
   10, MVT::i64,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::DecreaseCTR8loop),
                    MVT::i1, MVT::i64, 1, 2,
   0,
  21,
   OPC_CheckChild1Integer, 27|128,87|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::ADDEX8),
                   MVT::i64, 3, 1, 2, 3,
  30,
   OPC_CheckChild1Integer, 66|128,90|128,0,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_SwitchType , 7, MVT::i64,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFSPR8),
                    MVT::i64, 1, 1,
   7, MVT::i32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFSPR),
                    MVT::i32, 1, 1,
   0,
  17,
   OPC_CheckChild1Integer, 25|128,90|128,0,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::PPCLdFixedAddr),
                   MVT::i32, 1, 1,
  47,
   OPC_CheckChild1Integer, 82|128,89|128,0,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LWAT_PSEUDO),
                    MVT::i32, 3, 1, 2, 3,
   19,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LWAT_PSEUDO),
                    MVT::i32, 3, 1, 2, 3,
   0,
  47,
   OPC_CheckChild1Integer, 81|128,89|128,0,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LDAT_PSEUDO),
                    MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LDAT_PSEUDO),
                    MVT::i64, 3, 1, 2, 3,
   0,
  15,
   OPC_CheckChild1Integer, 117|128,89|128,0,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::DARN),
                   MVT::i64, 1, 1,
  15,
   OPC_CheckChild1Integer, 119|128,89|128,0,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 2,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::DARN),
                   MVT::i64, 1, 1,
  18,
   OPC_CheckChild1Integer, 94|128,91|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TEND),
                   MVT::i32, 1, 3,
  14,
   OPC_CheckChild1Integer, 86|128,91|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TABORT),
                   MVT::i32, 1, 1,
  22,
   OPC_CheckChild1Integer, 89|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 2, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TABORTWC),
                   MVT::i32, 3, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 90|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 2, 4,
   OPC_EmitConvertToTarget3,
   OPC_EmitNodeXForm, 2, 6,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TABORTWCI),
                   MVT::i32, 3, 5, 2, 7,
  22,
   OPC_CheckChild1Integer, 87|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 2, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TABORTDC),
                   MVT::i32, 3, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 88|128,91|128,0,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 2, 4,
   OPC_EmitConvertToTarget3,
   OPC_EmitNodeXForm, 2, 6,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TABORTDCI),
                   MVT::i32, 3, 5, 2, 7,
  14,
   OPC_CheckChild1Integer, 100|128,91|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TRECLAIM),
                   MVT::i32, 1, 1,
  12,
   OPC_CheckChild1Integer, 99|128,91|128,0,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TRECHKPT),
                   MVT::i32, 0,
  18,
   OPC_CheckChild1Integer, 103|128,91|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TSR),
                   MVT::i32, 1, 3,
  16,
   OPC_CheckChild1Integer, 40|128,90|128,0,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 2|128,1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFSPR8),
                   MVT::i64, 1, 1,
  16,
   OPC_CheckChild1Integer, 41|128,90|128,0,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 3|128,1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFSPR8),
                   MVT::i64, 1, 1,
  16,
   OPC_CheckChild1Integer, 42|128,90|128,0,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFSPR8),
                   MVT::i64, 1, 1,
  16,
   OPC_CheckChild1Integer, 43|128,90|128,0,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 1|128,1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFSPR8),
                   MVT::i64, 1, 1,
  15,
   OPC_CheckChild1Integer, 95|128,91|128,0,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TEND),
                   MVT::i32, 1, 1,
  15,
   OPC_CheckChild1Integer, 101|128,91|128,0,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TSR),
                   MVT::i32, 1, 1,
  15,
   OPC_CheckChild1Integer, 104|128,91|128,0,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TSR),
                   MVT::i32, 1, 1,
  24,
   OPC_CheckChild1Integer, 118|128,89|128,0,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1Chain, TARGET_VAL(PPC::DARN),
                   MVT::i64, 1, 1,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 2, 3,
  42,
   OPC_CheckChild1Integer, 105|128,91|128,0,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(PPC::LI),
                   MVT::i32, 1, 3,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1Chain, TARGET_VAL(PPC::TABORTWCI),
                   MVT::i32, 3, 2, 4, 5,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 1, 6, 7,
  12,
   OPC_CheckChild1Integer, 92|128,91|128,0,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TCHECK_RET),
                   MVT::i32, 0,
  30,
   OPC_CheckChild1Integer, 91|128,91|128,0,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitNode1Chain, TARGET_VAL(PPC::TBEGIN_RET),
                   MVT::i32, 1, 3,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::XORI),
                   MVT::i32, 2, 4, 5,
   OPC_CompleteMatch, 1, 6,

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

   32,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_un,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   0,
  21|128,3,
   OPC_CheckChild1Type, MVT::f64,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 23,
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETOGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_un,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   32,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_un,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   0,
  21|128,3,
   OPC_CheckChild1Type, MVT::f128,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 23,
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETOGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_un,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   32,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_un,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   0,
  0,
 69|128,14, TARGET_VAL(ISD::STRICT_FSETCCS),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 83|128,5,
   OPC_CheckChild1Type, MVT::f32,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 45,
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_lt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    0,
   45,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_lt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    0,
   45,
    OPC_CheckCondCode, ISD::SETOGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    0,
   45,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    0,
   45,
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_eq,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    0,
   45,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_eq,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    0,
   23,
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_un,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   63,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_lt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    27,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   63,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_lt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    27,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   63,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    27,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   63,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    27,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   63,
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_eq,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    27,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   63,
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_eq,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    27,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   32,
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_un,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   0,
  83|128,5,
   OPC_CheckChild1Type, MVT::f64,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 45,
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_lt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    0,
   45,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_lt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    0,
   45,
    OPC_CheckCondCode, ISD::SETOGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    0,
   45,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    0,
   45,
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_eq,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    0,
   45,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_eq,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
    0,
   23,
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_un,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   63,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_lt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    27,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   63,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_lt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    27,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   63,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    27,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   63,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    27,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   63,
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_eq,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    27,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   63,
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_eq,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    27,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
                     MVT::i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::sub_gt,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i1, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                     MVT::i1, 1, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   32,
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_un,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   0,
  21|128,3,
   OPC_CheckChild1Type, MVT::f128,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_Scope, 23,
    OPC_CheckCondCode, ISD::SETOLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETOGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETOEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   23,
    OPC_CheckCondCode, ISD::SETUO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_un,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
   32,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_lt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_gt,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETUNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_eq,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   32,
    OPC_CheckCondCode, ISD::SETO,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
                    MVT::i32, 2, 1, 2,
    OPC_EmitIntegerI32, PPC::sub_un,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i1, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                    MVT::i1, 1, 5,
    OPC_CompleteMatch, 1, 6,

   0,
  0,
 30|128,1, TARGET_VAL(ISD::SELECT),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::i1,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 27, MVT::i1,
   OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                   MVT::i1, 2, 0, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                   MVT::i1, 2, 4, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
                   MVT::i1, 2, 3, 5,
  8, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                   MVT::i32, 3, 0, 1, 2,
  8, MVT::i64,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                   MVT::i64, 3, 0, 1, 2,
  32, MVT::f64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
                    MVT::f64, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
                    MVT::f64, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
                    MVT::f64, 3, 0, 1, 2,
   0,
  32, MVT::f32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
                    MVT::f32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
                    MVT::f32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
                    MVT::f32, 3, 0, 1, 2,
   0,
  9, MVT::f128,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
                   MVT::f128, 3, 0, 1, 2,
  8, MVT::v4i32,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
                   MVT::v4i32, 3, 0, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
                   22|128,1, 3, 0, 1, 2,
  0,
 7|128,19, TARGET_VAL(ISD::SELECT_CC),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::i1,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_MoveChild4,
  OPC_Scope, 113|128,1,
   OPC_CheckCondCode, ISD::SETLT,
   OPC_MoveParent,
   OPC_SwitchType , 35, MVT::i1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 4, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 6, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
                    MVT::i1, 2, 5, 7,
   15, MVT::i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                    MVT::i32, 3, 4, 2, 3,
   15, MVT::i64,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                    MVT::i64, 3, 4, 2, 3,
   53, MVT::f64,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
                     MVT::f64, 3, 4, 2, 3,
    0,
   54, MVT::f32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
                     MVT::f32, 3, 4, 2, 3,
    0,
   15, MVT::f128,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
                    MVT::f128, 3, 4, 2, 3,
   15, MVT::v4i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
                    MVT::v4i32, 3, 4, 2, 3,
   17, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
                    22|128,1, 3, 4, 2, 3,
   0,
  113|128,1,
   OPC_CheckCondCode, ISD::SETULT,
   OPC_MoveParent,
   OPC_SwitchType , 35, MVT::i1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 4, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 6, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
                    MVT::i1, 2, 5, 7,
   15, MVT::i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                    MVT::i32, 3, 4, 2, 3,
   15, MVT::i64,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                    MVT::i64, 3, 4, 2, 3,
   53, MVT::f64,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
                     MVT::f64, 3, 4, 2, 3,
    0,
   54, MVT::f32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
                     MVT::f32, 3, 4, 2, 3,
    0,
   15, MVT::f128,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
                    MVT::f128, 3, 4, 2, 3,
   15, MVT::v4i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
                    MVT::v4i32, 3, 4, 2, 3,
   17, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
                    22|128,1, 3, 4, 2, 3,
   0,
  113|128,1,
   OPC_CheckCondCode, ISD::SETLE,
   OPC_MoveParent,
   OPC_SwitchType , 35, MVT::i1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 4, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 6, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
                    MVT::i1, 2, 5, 7,
   15, MVT::i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                    MVT::i32, 3, 4, 2, 3,
   15, MVT::i64,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                    MVT::i64, 3, 4, 2, 3,
   53, MVT::f64,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
                     MVT::f64, 3, 4, 2, 3,
    0,
   54, MVT::f32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
                     MVT::f32, 3, 4, 2, 3,
    0,
   15, MVT::f128,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
                    MVT::f128, 3, 4, 2, 3,
   15, MVT::v4i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
                    MVT::v4i32, 3, 4, 2, 3,
   17, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
                    22|128,1, 3, 4, 2, 3,
   0,
  113|128,1,
   OPC_CheckCondCode, ISD::SETULE,
   OPC_MoveParent,
   OPC_SwitchType , 35, MVT::i1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 4, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 6, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
                    MVT::i1, 2, 5, 7,
   15, MVT::i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                    MVT::i32, 3, 4, 2, 3,
   15, MVT::i64,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                    MVT::i64, 3, 4, 2, 3,
   53, MVT::f64,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
                     MVT::f64, 3, 4, 2, 3,
    0,
   54, MVT::f32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
                     MVT::f32, 3, 4, 2, 3,
    0,
   15, MVT::f128,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
                    MVT::f128, 3, 4, 2, 3,
   15, MVT::v4i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
                    MVT::v4i32, 3, 4, 2, 3,
   17, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
                    22|128,1, 3, 4, 2, 3,
   0,
  113|128,1,
   OPC_CheckCondCode, ISD::SETEQ,
   OPC_MoveParent,
   OPC_SwitchType , 35, MVT::i1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
                    MVT::i1, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 4, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
                    MVT::i1, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 6, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
                    MVT::i1, 2, 5, 7,
   15, MVT::i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                    MVT::i32, 3, 4, 2, 3,
   15, MVT::i64,
    OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                    MVT::i64, 3, 4, 2, 3,
   53, MVT::f64,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
                     MVT::f64, 3, 4, 2, 3,
    0,
   54, MVT::f32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
                     MVT::f32, 3, 4, 2, 3,
    0,
   15, MVT::f128,
    OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
                    MVT::f128, 3, 4, 2, 3,
   15, MVT::v4i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
                    MVT::v4i32, 3, 4, 2, 3,
   17, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
                    22|128,1, 3, 4, 2, 3,
   0,
  113|128,1,
   OPC_CheckCondCode, ISD::SETGE,
   OPC_MoveParent,
   OPC_SwitchType , 35, MVT::i1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 4, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 6, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
                    MVT::i1, 2, 5, 7,
   15, MVT::i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                    MVT::i32, 3, 4, 2, 3,
   15, MVT::i64,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                    MVT::i64, 3, 4, 2, 3,
   53, MVT::f64,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
                     MVT::f64, 3, 4, 2, 3,
    0,
   54, MVT::f32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
                     MVT::f32, 3, 4, 2, 3,
    0,
   15, MVT::f128,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
                    MVT::f128, 3, 4, 2, 3,
   15, MVT::v4i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
                    MVT::v4i32, 3, 4, 2, 3,
   17, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
                    22|128,1, 3, 4, 2, 3,
   0,
  113|128,1,
   OPC_CheckCondCode, ISD::SETUGE,
   OPC_MoveParent,
   OPC_SwitchType , 35, MVT::i1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 4, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 6, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
                    MVT::i1, 2, 5, 7,
   15, MVT::i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                    MVT::i32, 3, 4, 2, 3,
   15, MVT::i64,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                    MVT::i64, 3, 4, 2, 3,
   53, MVT::f64,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
                     MVT::f64, 3, 4, 2, 3,
    0,
   54, MVT::f32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
                     MVT::f32, 3, 4, 2, 3,
    0,
   15, MVT::f128,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
                    MVT::f128, 3, 4, 2, 3,
   15, MVT::v4i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
                    MVT::v4i32, 3, 4, 2, 3,
   17, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
                    22|128,1, 3, 4, 2, 3,
   0,
  113|128,1,
   OPC_CheckCondCode, ISD::SETGT,
   OPC_MoveParent,
   OPC_SwitchType , 35, MVT::i1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 4, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 6, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
                    MVT::i1, 2, 5, 7,
   15, MVT::i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                    MVT::i32, 3, 4, 2, 3,
   15, MVT::i64,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                    MVT::i64, 3, 4, 2, 3,
   53, MVT::f64,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
                     MVT::f64, 3, 4, 2, 3,
    0,
   54, MVT::f32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
                     MVT::f32, 3, 4, 2, 3,
    0,
   15, MVT::f128,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
                    MVT::f128, 3, 4, 2, 3,
   15, MVT::v4i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
                    MVT::v4i32, 3, 4, 2, 3,
   17, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
                    22|128,1, 3, 4, 2, 3,
   0,
  113|128,1,
   OPC_CheckCondCode, ISD::SETUGT,
   OPC_MoveParent,
   OPC_SwitchType , 35, MVT::i1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 4, 2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
                    MVT::i1, 2, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 6, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
                    MVT::i1, 2, 5, 7,
   15, MVT::i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                    MVT::i32, 3, 4, 2, 3,
   15, MVT::i64,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                    MVT::i64, 3, 4, 2, 3,
   53, MVT::f64,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
                     MVT::f64, 3, 4, 2, 3,
    0,
   54, MVT::f32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
                     MVT::f32, 3, 4, 2, 3,
    0,
   15, MVT::f128,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
                    MVT::f128, 3, 4, 2, 3,
   15, MVT::v4i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
                    MVT::v4i32, 3, 4, 2, 3,
   17, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
                    22|128,1, 3, 4, 2, 3,
   0,
  113|128,1,
   OPC_CheckCondCode, ISD::SETNE,
   OPC_MoveParent,
   OPC_SwitchType , 35, MVT::i1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
                    MVT::i1, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 4, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
                    MVT::i1, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
                    MVT::i1, 2, 6, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
                    MVT::i1, 2, 5, 7,
   15, MVT::i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
                    MVT::i32, 3, 4, 2, 3,
   15, MVT::i64,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
                    MVT::i64, 3, 4, 2, 3,
   53, MVT::f64,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
                     MVT::f64, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
                     MVT::f64, 3, 4, 2, 3,
    0,
   54, MVT::f32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
                     MVT::f32, 3, 4, 2, 3,
    16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
                     MVT::i1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
                     MVT::f32, 3, 4, 2, 3,
    0,
   15, MVT::f128,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
                    MVT::f128, 3, 4, 2, 3,
   15, MVT::v4i32,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
                    MVT::v4i32, 3, 4, 2, 3,
   17, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
                    22|128,1, 3, 4, 2, 3,
   0,
  0,
 96|128,109, TARGET_VAL(ISD::BITREVERSE),
  OPC_RecordChild0,
  OPC_SwitchType , 99|128,35, MVT::i32,
   OPC_Scope, 103|128,17,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 1, 2, 3,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 5,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 4, 8,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 10, 11, 12,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 14,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 15, 16,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 13, 17,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 9, 18,
    OPC_EmitIntegerI32, 30,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 19, 20, 21, 22,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 24,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 25, 26,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 23, 27,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 29, 30, 31,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 33,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 34, 35,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 32, 36,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 38, 39, 40,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 42,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 43, 44,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 41, 45,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 37, 46,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 47, 48, 49, 50,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 52,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 53, 54,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 51, 55,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 28, 56,
    OPC_EmitIntegerI32, 28,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 57, 58, 59, 60,
    OPC_EmitIntegerI32, 15|128,30,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 62,
    OPC_EmitIntegerI32, 15|128,30,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 63, 64,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 61, 65,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 67, 68, 69,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 71,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 72, 73,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 70, 74,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 76, 77, 78,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 80,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 81, 82,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 79, 83,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 75, 84,
    OPC_EmitIntegerI32, 30,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 85, 86, 87, 88,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 90,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 91, 92,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 89, 93,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 95, 96, 97,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 99,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 100, 101,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 98, 102,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 104, 105, 106,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 108,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 109, 110,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 107, 111,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 103, 112,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 113, 114, 115, 116,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 118,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 119, 120,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 117, 121,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 94, 122,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 27,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 123, 124, 125, 126,
    OPC_EmitIntegerI32, 112|128,97|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 0|128,1,
    OPC_EmitIntegerI32, 112|128,97|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 1|128,1, 2|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 127, 3|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 66, 4|128,1,
    OPC_EmitIntegerI32, 24,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 5|128,1, 6|128,1, 7|128,1, 8|128,1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 10|128,1, 11|128,1, 12|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 14|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 15|128,1, 16|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 13|128,1, 17|128,1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 19|128,1, 20|128,1, 21|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 23|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 24|128,1, 25|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 22|128,1, 26|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 18|128,1, 27|128,1,
    OPC_EmitIntegerI32, 30,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 28|128,1, 29|128,1, 30|128,1, 31|128,1,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 33|128,1,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 34|128,1, 35|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 32|128,1, 36|128,1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 38|128,1, 39|128,1, 40|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 42|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 43|128,1, 44|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 41|128,1, 45|128,1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 47|128,1, 48|128,1, 49|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 51|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 52|128,1, 53|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 50|128,1, 54|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 46|128,1, 55|128,1,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 56|128,1, 57|128,1, 58|128,1, 59|128,1,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 61|128,1,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 62|128,1, 63|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 60|128,1, 64|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 37|128,1, 65|128,1,
    OPC_EmitIntegerI32, 28,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 66|128,1, 67|128,1, 68|128,1, 69|128,1,
    OPC_EmitIntegerI32, 15|128,30,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 71|128,1,
    OPC_EmitIntegerI32, 15|128,30,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 72|128,1, 73|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 70|128,1, 74|128,1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 76|128,1, 77|128,1, 78|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 80|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 81|128,1, 82|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 79|128,1, 83|128,1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 85|128,1, 86|128,1, 87|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 89|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 90|128,1, 91|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 88|128,1, 92|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 84|128,1, 93|128,1,
    OPC_EmitIntegerI32, 30,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 94|128,1, 95|128,1, 96|128,1, 97|128,1,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 99|128,1,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 100|128,1, 101|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 98|128,1, 102|128,1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 104|128,1, 105|128,1, 106|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 108|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 109|128,1, 110|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 107|128,1, 111|128,1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 113|128,1, 114|128,1, 115|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 117|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 118|128,1, 119|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 116|128,1, 120|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 112|128,1, 121|128,1,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 122|128,1, 123|128,1, 124|128,1, 125|128,1,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 127|128,1,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 0|128,2, 1|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 126|128,1, 2|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 103|128,1, 3|128,2,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 27,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 4|128,2, 5|128,2, 6|128,2, 7|128,2,
    OPC_EmitIntegerI32, 112|128,97|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 9|128,2,
    OPC_EmitIntegerI32, 112|128,97|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 10|128,2, 11|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 8|128,2, 12|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 75|128,1, 13|128,2,
    OPC_EmitIntegerI32, 8,
    OPC_EmitIntegerI32, 8,
    OPC_EmitIntegerI32, 15,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
                    MVT::i32, 5, 9|128,1, 14|128,2, 15|128,2, 16|128,2, 17|128,2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 19|128,2, 20|128,2, 21|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 23|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 24|128,2, 25|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 22|128,2, 26|128,2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 28|128,2, 29|128,2, 30|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 32|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 33|128,2, 34|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 31|128,2, 35|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 27|128,2, 36|128,2,
    OPC_EmitIntegerI32, 30,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 37|128,2, 38|128,2, 39|128,2, 40|128,2,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 42|128,2,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 43|128,2, 44|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 41|128,2, 45|128,2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 47|128,2, 48|128,2, 49|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 51|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 52|128,2, 53|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 50|128,2, 54|128,2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 56|128,2, 57|128,2, 58|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 60|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 61|128,2, 62|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 59|128,2, 63|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 55|128,2, 64|128,2,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 65|128,2, 66|128,2, 67|128,2, 68|128,2,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 70|128,2,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 71|128,2, 72|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 69|128,2, 73|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 46|128,2, 74|128,2,
    OPC_EmitIntegerI32, 28,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 75|128,2, 76|128,2, 77|128,2, 78|128,2,
    OPC_EmitIntegerI32, 15|128,30,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 80|128,2,
    OPC_EmitIntegerI32, 15|128,30,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 81|128,2, 82|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 79|128,2, 83|128,2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 85|128,2, 86|128,2, 87|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 89|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 90|128,2, 91|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 88|128,2, 92|128,2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 94|128,2, 95|128,2, 96|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 98|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 99|128,2, 100|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 97|128,2, 101|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 93|128,2, 102|128,2,
    OPC_EmitIntegerI32, 30,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 103|128,2, 104|128,2, 105|128,2, 106|128,2,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 108|128,2,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 109|128,2, 110|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 107|128,2, 111|128,2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 113|128,2, 114|128,2, 115|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 117|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 118|128,2, 119|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 116|128,2, 120|128,2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 122|128,2, 123|128,2, 124|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 126|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 127|128,2, 0|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 125|128,2, 1|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 121|128,2, 2|128,3,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 3|128,3, 4|128,3, 5|128,3, 6|128,3,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 8|128,3,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 9|128,3, 10|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 7|128,3, 11|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 112|128,2, 12|128,3,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 27,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 13|128,3, 14|128,3, 15|128,3, 16|128,3,
    OPC_EmitIntegerI32, 112|128,97|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 18|128,3,
    OPC_EmitIntegerI32, 112|128,97|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 19|128,3, 20|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 17|128,3, 21|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 84|128,2, 22|128,3,
    OPC_EmitIntegerI32, 8,
    OPC_EmitIntegerI32, 24,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWIMI),
                    MVT::i32, 5, 18|128,2, 23|128,3, 24|128,3, 25|128,3, 26|128,3,
   118|128,17,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 1, 2, 3,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 5,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 4, 8,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 10, 11, 12,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 14,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 15, 16,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 13, 17,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 9, 18,
    OPC_EmitIntegerI32, 30,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 19, 20, 21, 22,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 24,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 25, 26,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 23, 27,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 29, 30, 31,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 33,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 34, 35,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 32, 36,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 38, 39, 40,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 42,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 43, 44,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 41, 45,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 37, 46,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 47, 48, 49, 50,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 52,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 53, 54,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 51, 55,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 28, 56,
    OPC_EmitIntegerI32, 28,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 57, 58, 59, 60,
    OPC_EmitIntegerI32, 15|128,30,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 62,
    OPC_EmitIntegerI32, 15|128,30,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 63, 64,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 61, 65,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 67, 68, 69,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 71,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 72, 73,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 70, 74,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 76, 77, 78,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 80,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 81, 82,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 79, 83,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 75, 84,
    OPC_EmitIntegerI32, 30,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 85, 86, 87, 88,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 90,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 91, 92,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 89, 93,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 95, 96, 97,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 99,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 100, 101,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 98, 102,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 104, 105, 106,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 108,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 109, 110,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 107, 111,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 103, 112,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 113, 114, 115, 116,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 118,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 119, 120,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 117, 121,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 94, 122,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 27,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 123, 124, 125, 126,
    OPC_EmitIntegerI32, 112|128,97|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 0|128,1,
    OPC_EmitIntegerI32, 112|128,97|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 1|128,1, 2|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 127, 3|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 66, 4|128,1,
    OPC_EmitIntegerI32, 24,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 5|128,1, 6|128,1, 7|128,1, 8|128,1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 10|128,1, 11|128,1, 12|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 14|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 15|128,1, 16|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 13|128,1, 17|128,1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 19|128,1, 20|128,1, 21|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 23|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 24|128,1, 25|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 22|128,1, 26|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 18|128,1, 27|128,1,
    OPC_EmitIntegerI32, 30,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 28|128,1, 29|128,1, 30|128,1, 31|128,1,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 33|128,1,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 34|128,1, 35|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 32|128,1, 36|128,1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 38|128,1, 39|128,1, 40|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 42|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 43|128,1, 44|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 41|128,1, 45|128,1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 47|128,1, 48|128,1, 49|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 51|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 52|128,1, 53|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 50|128,1, 54|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 46|128,1, 55|128,1,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 56|128,1, 57|128,1, 58|128,1, 59|128,1,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 61|128,1,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 62|128,1, 63|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 60|128,1, 64|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 37|128,1, 65|128,1,
    OPC_EmitIntegerI32, 28,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 66|128,1, 67|128,1, 68|128,1, 69|128,1,
    OPC_EmitIntegerI32, 15|128,30,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 71|128,1,
    OPC_EmitIntegerI32, 15|128,30,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 72|128,1, 73|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 70|128,1, 74|128,1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 76|128,1, 77|128,1, 78|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 80|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 81|128,1, 82|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 79|128,1, 83|128,1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 85|128,1, 86|128,1, 87|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 89|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 90|128,1, 91|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 88|128,1, 92|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 84|128,1, 93|128,1,
    OPC_EmitIntegerI32, 30,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 94|128,1, 95|128,1, 96|128,1, 97|128,1,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 99|128,1,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 100|128,1, 101|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 98|128,1, 102|128,1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 104|128,1, 105|128,1, 106|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 108|128,1,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 109|128,1, 110|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 107|128,1, 111|128,1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 113|128,1, 114|128,1, 115|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 117|128,1,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 118|128,1, 119|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 116|128,1, 120|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 112|128,1, 121|128,1,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 122|128,1, 123|128,1, 124|128,1, 125|128,1,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 127|128,1,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 0|128,2, 1|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 126|128,1, 2|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 103|128,1, 3|128,2,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 27,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 4|128,2, 5|128,2, 6|128,2, 7|128,2,
    OPC_EmitIntegerI32, 112|128,97|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 9|128,2,
    OPC_EmitIntegerI32, 112|128,97|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 10|128,2, 11|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 8|128,2, 12|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 75|128,1, 13|128,2,
    OPC_EmitIntegerI32, 8,
    OPC_EmitIntegerI32, 8,
    OPC_EmitIntegerI32, 15,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
                    MVT::i32, 5, 9|128,1, 14|128,2, 15|128,2, 16|128,2, 17|128,2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 19|128,2, 20|128,2, 21|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 23|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 24|128,2, 25|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 22|128,2, 26|128,2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 28|128,2, 29|128,2, 30|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 32|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 33|128,2, 34|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 31|128,2, 35|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 27|128,2, 36|128,2,
    OPC_EmitIntegerI32, 30,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 37|128,2, 38|128,2, 39|128,2, 40|128,2,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 42|128,2,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 43|128,2, 44|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 41|128,2, 45|128,2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 47|128,2, 48|128,2, 49|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 51|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 52|128,2, 53|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 50|128,2, 54|128,2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 56|128,2, 57|128,2, 58|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 60|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 61|128,2, 62|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 59|128,2, 63|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 55|128,2, 64|128,2,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 65|128,2, 66|128,2, 67|128,2, 68|128,2,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 70|128,2,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 71|128,2, 72|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 69|128,2, 73|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 46|128,2, 74|128,2,
    OPC_EmitIntegerI32, 28,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 75|128,2, 76|128,2, 77|128,2, 78|128,2,
    OPC_EmitIntegerI32, 15|128,30,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 80|128,2,
    OPC_EmitIntegerI32, 15|128,30,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 81|128,2, 82|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 79|128,2, 83|128,2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 85|128,2, 86|128,2, 87|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 89|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 90|128,2, 91|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 88|128,2, 92|128,2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 94|128,2, 95|128,2, 96|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 98|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 99|128,2, 100|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 97|128,2, 101|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 93|128,2, 102|128,2,
    OPC_EmitIntegerI32, 30,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 103|128,2, 104|128,2, 105|128,2, 106|128,2,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 108|128,2,
    OPC_EmitIntegerI32, 51|128,102|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 109|128,2, 110|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 107|128,2, 111|128,2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 113|128,2, 114|128,2, 115|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 117|128,2,
    OPC_EmitIntegerI32, 85|128,42|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 118|128,2, 119|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 116|128,2, 120|128,2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 0, 122|128,2, 123|128,2, 124|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 126|128,2,
    OPC_EmitIntegerI32, 42|128,85|128,2,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 127|128,2, 0|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 125|128,2, 1|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 121|128,2, 2|128,3,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 3|128,3, 4|128,3, 5|128,3, 6|128,3,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 8|128,3,
    OPC_EmitIntegerI32, 76|128,25|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 9|128,3, 10|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 7|128,3, 11|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 112|128,2, 12|128,3,
    OPC_EmitIntegerI32, 4,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 27,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 13|128,3, 14|128,3, 15|128,3, 16|128,3,
    OPC_EmitIntegerI32, 112|128,97|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                    MVT::i32, 1, 18|128,3,
    OPC_EmitIntegerI32, 112|128,97|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                    MVT::i32, 2, 19|128,3, 20|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::AND),
                    MVT::i32, 2, 17|128,3, 21|128,3,
    OPC_EmitNode1None, TARGET_VAL(PPC::OR),
                    MVT::i32, 2, 84|128,2, 22|128,3,
    OPC_EmitIntegerI32, 8,
    OPC_EmitIntegerI32, 24,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
                    MVT::i32, 5, 18|128,2, 23|128,3, 24|128,3, 25|128,3, 26|128,3,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL_32),
                    MVT::i32, 3, 27|128,3, 28|128,3, 29|128,3,
   0,
  116|128,73, MVT::i64,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 2, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 6,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 7, 8,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 5, 9, 10,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 11, 12, 13,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 14, 15,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 16, 17,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 4, 18,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 20, 21,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 24,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 25, 26,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 23, 27, 28,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 29, 30, 31,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 32, 33,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 34, 35,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 22, 36,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 19, 37,
   OPC_EmitIntegerI32, 62,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 38, 39, 40,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 43,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 44, 45,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 42, 46, 47,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 48, 49, 50,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 51, 52,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 53, 54,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 41, 55,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 57, 58,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 61,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 62, 63,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 60, 64, 65,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 66, 67, 68,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 69, 70,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 71, 72,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 59, 73,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 75, 76,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 79,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 80, 81,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 78, 82, 83,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 84, 85, 86,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 87, 88,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 89, 90,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 77, 91,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 74, 92,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 61,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 93, 94, 95,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 98,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 99, 100,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 97, 101, 102,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 103, 104, 105,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 106, 107,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 108, 109,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 96, 110,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 56, 111,
   OPC_EmitIntegerI32, 60,
   OPC_EmitIntegerI32, 4,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 112, 113, 114,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 117,
   OPC_EmitIntegerI32, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 118, 119,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 116, 120, 121,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 122, 123, 124,
   OPC_EmitIntegerI64, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 125, 126,
   OPC_EmitIntegerI64, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 127, 0|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 115, 1|128,1,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 3|128,1, 4|128,1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 7|128,1,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 8|128,1, 9|128,1,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 6|128,1, 10|128,1, 11|128,1,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 12|128,1, 13|128,1, 14|128,1,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 15|128,1, 16|128,1,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 17|128,1, 18|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 5|128,1, 19|128,1,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 21|128,1, 22|128,1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 25|128,1,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 26|128,1, 27|128,1,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 24|128,1, 28|128,1, 29|128,1,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 30|128,1, 31|128,1, 32|128,1,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 33|128,1, 34|128,1,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 35|128,1, 36|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 23|128,1, 37|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 20|128,1, 38|128,1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 39|128,1, 40|128,1, 41|128,1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 44|128,1,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 45|128,1, 46|128,1,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 43|128,1, 47|128,1, 48|128,1,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 49|128,1, 50|128,1, 51|128,1,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 52|128,1, 53|128,1,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 54|128,1, 55|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 42|128,1, 56|128,1,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 58|128,1, 59|128,1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 62|128,1,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 63|128,1, 64|128,1,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 61|128,1, 65|128,1, 66|128,1,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 67|128,1, 68|128,1, 69|128,1,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 70|128,1, 71|128,1,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 72|128,1, 73|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 60|128,1, 74|128,1,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 76|128,1, 77|128,1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 80|128,1,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 81|128,1, 82|128,1,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 79|128,1, 83|128,1, 84|128,1,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 85|128,1, 86|128,1, 87|128,1,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 88|128,1, 89|128,1,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 90|128,1, 91|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 78|128,1, 92|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 75|128,1, 93|128,1,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 61,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 94|128,1, 95|128,1, 96|128,1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 99|128,1,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 100|128,1, 101|128,1,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 98|128,1, 102|128,1, 103|128,1,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 104|128,1, 105|128,1, 106|128,1,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 107|128,1, 108|128,1,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 109|128,1, 110|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 97|128,1, 111|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 57|128,1, 112|128,1,
   OPC_EmitIntegerI32, 4,
   OPC_EmitIntegerI32, 59,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 113|128,1, 114|128,1, 115|128,1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 118|128,1,
   OPC_EmitIntegerI32, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 119|128,1, 120|128,1,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 117|128,1, 121|128,1, 122|128,1,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 123|128,1, 124|128,1, 125|128,1,
   OPC_EmitIntegerI64, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 126|128,1, 127|128,1,
   OPC_EmitIntegerI64, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 0|128,2, 1|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 116|128,1, 2|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 2|128,1, 3|128,2,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 4|128,2, 5|128,2,
   OPC_EmitIntegerI32, 24,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                   MVT::i32, 4, 6|128,2, 7|128,2, 8|128,2, 9|128,2,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 11|128,2, 12|128,2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 15|128,2,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 16|128,2, 17|128,2,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 14|128,2, 18|128,2, 19|128,2,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 20|128,2, 21|128,2, 22|128,2,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 23|128,2, 24|128,2,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 25|128,2, 26|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 13|128,2, 27|128,2,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 29|128,2, 30|128,2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 33|128,2,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 34|128,2, 35|128,2,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 32|128,2, 36|128,2, 37|128,2,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 38|128,2, 39|128,2, 40|128,2,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 41|128,2, 42|128,2,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 43|128,2, 44|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 31|128,2, 45|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 28|128,2, 46|128,2,
   OPC_EmitIntegerI32, 62,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 47|128,2, 48|128,2, 49|128,2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 52|128,2,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 53|128,2, 54|128,2,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 51|128,2, 55|128,2, 56|128,2,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 57|128,2, 58|128,2, 59|128,2,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 60|128,2, 61|128,2,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 62|128,2, 63|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 50|128,2, 64|128,2,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 66|128,2, 67|128,2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 70|128,2,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 71|128,2, 72|128,2,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 69|128,2, 73|128,2, 74|128,2,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 75|128,2, 76|128,2, 77|128,2,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 78|128,2, 79|128,2,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 80|128,2, 81|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 68|128,2, 82|128,2,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 84|128,2, 85|128,2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 88|128,2,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 89|128,2, 90|128,2,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 87|128,2, 91|128,2, 92|128,2,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 93|128,2, 94|128,2, 95|128,2,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 96|128,2, 97|128,2,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 98|128,2, 99|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 86|128,2, 100|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 83|128,2, 101|128,2,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 61,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 102|128,2, 103|128,2, 104|128,2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 107|128,2,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 108|128,2, 109|128,2,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 106|128,2, 110|128,2, 111|128,2,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 112|128,2, 113|128,2, 114|128,2,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 115|128,2, 116|128,2,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 117|128,2, 118|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 105|128,2, 119|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 65|128,2, 120|128,2,
   OPC_EmitIntegerI32, 60,
   OPC_EmitIntegerI32, 4,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 121|128,2, 122|128,2, 123|128,2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 126|128,2,
   OPC_EmitIntegerI32, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 127|128,2, 0|128,3,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 125|128,2, 1|128,3, 2|128,3,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 3|128,3, 4|128,3, 5|128,3,
   OPC_EmitIntegerI64, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 6|128,3, 7|128,3,
   OPC_EmitIntegerI64, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 8|128,3, 9|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 124|128,2, 10|128,3,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 12|128,3, 13|128,3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 16|128,3,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 17|128,3, 18|128,3,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 15|128,3, 19|128,3, 20|128,3,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 21|128,3, 22|128,3, 23|128,3,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 24|128,3, 25|128,3,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 26|128,3, 27|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 14|128,3, 28|128,3,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 30|128,3, 31|128,3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 34|128,3,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 35|128,3, 36|128,3,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 33|128,3, 37|128,3, 38|128,3,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 39|128,3, 40|128,3, 41|128,3,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 42|128,3, 43|128,3,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 44|128,3, 45|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 32|128,3, 46|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 29|128,3, 47|128,3,
   OPC_EmitIntegerI32, 62,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 48|128,3, 49|128,3, 50|128,3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 53|128,3,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 54|128,3, 55|128,3,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 52|128,3, 56|128,3, 57|128,3,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 58|128,3, 59|128,3, 60|128,3,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 61|128,3, 62|128,3,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 63|128,3, 64|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 51|128,3, 65|128,3,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 67|128,3, 68|128,3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 71|128,3,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 72|128,3, 73|128,3,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 70|128,3, 74|128,3, 75|128,3,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 76|128,3, 77|128,3, 78|128,3,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 79|128,3, 80|128,3,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 81|128,3, 82|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 69|128,3, 83|128,3,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 85|128,3, 86|128,3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 89|128,3,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 90|128,3, 91|128,3,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 88|128,3, 92|128,3, 93|128,3,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 94|128,3, 95|128,3, 96|128,3,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 97|128,3, 98|128,3,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 99|128,3, 100|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 87|128,3, 101|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 84|128,3, 102|128,3,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 61,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 103|128,3, 104|128,3, 105|128,3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 108|128,3,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 109|128,3, 110|128,3,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 107|128,3, 111|128,3, 112|128,3,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 113|128,3, 114|128,3, 115|128,3,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 116|128,3, 117|128,3,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 118|128,3, 119|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 106|128,3, 120|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 66|128,3, 121|128,3,
   OPC_EmitIntegerI32, 4,
   OPC_EmitIntegerI32, 59,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 122|128,3, 123|128,3, 124|128,3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 127|128,3,
   OPC_EmitIntegerI32, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 0|128,4, 1|128,4,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 126|128,3, 2|128,4, 3|128,4,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 4|128,4, 5|128,4, 6|128,4,
   OPC_EmitIntegerI64, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 7|128,4, 8|128,4,
   OPC_EmitIntegerI64, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 9|128,4, 10|128,4,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 125|128,3, 11|128,4,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 11|128,3, 12|128,4,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 13|128,4, 14|128,4,
   OPC_EmitIntegerI32, 8,
   OPC_EmitIntegerI32, 8,
   OPC_EmitIntegerI32, 15,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
                   MVT::i32, 5, 10|128,2, 15|128,4, 16|128,4, 17|128,4, 18|128,4,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 20|128,4, 21|128,4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 24|128,4,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 25|128,4, 26|128,4,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 23|128,4, 27|128,4, 28|128,4,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 29|128,4, 30|128,4, 31|128,4,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 32|128,4, 33|128,4,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 34|128,4, 35|128,4,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 22|128,4, 36|128,4,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 38|128,4, 39|128,4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 42|128,4,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 43|128,4, 44|128,4,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 41|128,4, 45|128,4, 46|128,4,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 47|128,4, 48|128,4, 49|128,4,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 50|128,4, 51|128,4,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 52|128,4, 53|128,4,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 40|128,4, 54|128,4,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 37|128,4, 55|128,4,
   OPC_EmitIntegerI32, 62,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 56|128,4, 57|128,4, 58|128,4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 61|128,4,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 62|128,4, 63|128,4,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 60|128,4, 64|128,4, 65|128,4,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 66|128,4, 67|128,4, 68|128,4,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 69|128,4, 70|128,4,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 71|128,4, 72|128,4,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 59|128,4, 73|128,4,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 75|128,4, 76|128,4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 79|128,4,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 80|128,4, 81|128,4,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 78|128,4, 82|128,4, 83|128,4,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 84|128,4, 85|128,4, 86|128,4,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 87|128,4, 88|128,4,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 89|128,4, 90|128,4,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 77|128,4, 91|128,4,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 93|128,4, 94|128,4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 97|128,4,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 98|128,4, 99|128,4,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 96|128,4, 100|128,4, 101|128,4,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 102|128,4, 103|128,4, 104|128,4,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 105|128,4, 106|128,4,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 107|128,4, 108|128,4,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 95|128,4, 109|128,4,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 92|128,4, 110|128,4,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 61,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 111|128,4, 112|128,4, 113|128,4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 116|128,4,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 117|128,4, 118|128,4,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 115|128,4, 119|128,4, 120|128,4,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 121|128,4, 122|128,4, 123|128,4,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 124|128,4, 125|128,4,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 126|128,4, 127|128,4,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 114|128,4, 0|128,5,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 74|128,4, 1|128,5,
   OPC_EmitIntegerI32, 60,
   OPC_EmitIntegerI32, 4,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 2|128,5, 3|128,5, 4|128,5,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 7|128,5,
   OPC_EmitIntegerI32, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 8|128,5, 9|128,5,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 6|128,5, 10|128,5, 11|128,5,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 12|128,5, 13|128,5, 14|128,5,
   OPC_EmitIntegerI64, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 15|128,5, 16|128,5,
   OPC_EmitIntegerI64, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 17|128,5, 18|128,5,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 5|128,5, 19|128,5,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 21|128,5, 22|128,5,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 25|128,5,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 26|128,5, 27|128,5,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 24|128,5, 28|128,5, 29|128,5,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 30|128,5, 31|128,5, 32|128,5,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 33|128,5, 34|128,5,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 35|128,5, 36|128,5,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 23|128,5, 37|128,5,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 39|128,5, 40|128,5,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 43|128,5,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 44|128,5, 45|128,5,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 42|128,5, 46|128,5, 47|128,5,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 48|128,5, 49|128,5, 50|128,5,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 51|128,5, 52|128,5,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 53|128,5, 54|128,5,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 41|128,5, 55|128,5,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 38|128,5, 56|128,5,
   OPC_EmitIntegerI32, 62,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 57|128,5, 58|128,5, 59|128,5,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 62|128,5,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 63|128,5, 64|128,5,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 61|128,5, 65|128,5, 66|128,5,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 67|128,5, 68|128,5, 69|128,5,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 70|128,5, 71|128,5,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 72|128,5, 73|128,5,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 60|128,5, 74|128,5,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 76|128,5, 77|128,5,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 80|128,5,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 81|128,5, 82|128,5,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 79|128,5, 83|128,5, 84|128,5,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 85|128,5, 86|128,5, 87|128,5,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 88|128,5, 89|128,5,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 90|128,5, 91|128,5,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 78|128,5, 92|128,5,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 94|128,5, 95|128,5,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 98|128,5,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 99|128,5, 100|128,5,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 97|128,5, 101|128,5, 102|128,5,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 103|128,5, 104|128,5, 105|128,5,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 106|128,5, 107|128,5,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 108|128,5, 109|128,5,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 96|128,5, 110|128,5,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 93|128,5, 111|128,5,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 61,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 112|128,5, 113|128,5, 114|128,5,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 117|128,5,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 118|128,5, 119|128,5,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 116|128,5, 120|128,5, 121|128,5,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 122|128,5, 123|128,5, 124|128,5,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 125|128,5, 126|128,5,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 127|128,5, 0|128,6,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 115|128,5, 1|128,6,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 75|128,5, 2|128,6,
   OPC_EmitIntegerI32, 4,
   OPC_EmitIntegerI32, 59,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 3|128,6, 4|128,6, 5|128,6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 8|128,6,
   OPC_EmitIntegerI32, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 9|128,6, 10|128,6,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 7|128,6, 11|128,6, 12|128,6,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 13|128,6, 14|128,6, 15|128,6,
   OPC_EmitIntegerI64, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 16|128,6, 17|128,6,
   OPC_EmitIntegerI64, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 18|128,6, 19|128,6,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 6|128,6, 20|128,6,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 20|128,5, 21|128,6,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 22|128,6, 23|128,6,
   OPC_EmitIntegerI32, 8,
   OPC_EmitIntegerI32, 24,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
                   MVT::i32, 5, 19|128,4, 24|128,6, 25|128,6, 26|128,6, 27|128,6,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 1, 28|128,6, 29|128,6,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 30|128,6, 31|128,6, 32|128,6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 35|128,6, 36|128,6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 39|128,6,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 40|128,6, 41|128,6,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 38|128,6, 42|128,6, 43|128,6,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 44|128,6, 45|128,6, 46|128,6,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 47|128,6, 48|128,6,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 49|128,6, 50|128,6,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 37|128,6, 51|128,6,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 53|128,6, 54|128,6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 57|128,6,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 58|128,6, 59|128,6,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 56|128,6, 60|128,6, 61|128,6,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 62|128,6, 63|128,6, 64|128,6,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 65|128,6, 66|128,6,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 67|128,6, 68|128,6,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 55|128,6, 69|128,6,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 52|128,6, 70|128,6,
   OPC_EmitIntegerI32, 62,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 71|128,6, 72|128,6, 73|128,6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 76|128,6,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 77|128,6, 78|128,6,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 75|128,6, 79|128,6, 80|128,6,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 81|128,6, 82|128,6, 83|128,6,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 84|128,6, 85|128,6,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 86|128,6, 87|128,6,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 74|128,6, 88|128,6,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 90|128,6, 91|128,6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 94|128,6,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 95|128,6, 96|128,6,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 93|128,6, 97|128,6, 98|128,6,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 99|128,6, 100|128,6, 101|128,6,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 102|128,6, 103|128,6,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 104|128,6, 105|128,6,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 92|128,6, 106|128,6,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 108|128,6, 109|128,6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 112|128,6,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 113|128,6, 114|128,6,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 111|128,6, 115|128,6, 116|128,6,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 117|128,6, 118|128,6, 119|128,6,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 120|128,6, 121|128,6,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 122|128,6, 123|128,6,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 110|128,6, 124|128,6,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 107|128,6, 125|128,6,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 61,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 126|128,6, 127|128,6, 0|128,7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 3|128,7,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 4|128,7, 5|128,7,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 2|128,7, 6|128,7, 7|128,7,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 8|128,7, 9|128,7, 10|128,7,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 11|128,7, 12|128,7,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 13|128,7, 14|128,7,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 1|128,7, 15|128,7,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 89|128,6, 16|128,7,
   OPC_EmitIntegerI32, 60,
   OPC_EmitIntegerI32, 4,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 17|128,7, 18|128,7, 19|128,7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 22|128,7,
   OPC_EmitIntegerI32, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 23|128,7, 24|128,7,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 21|128,7, 25|128,7, 26|128,7,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 27|128,7, 28|128,7, 29|128,7,
   OPC_EmitIntegerI64, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 30|128,7, 31|128,7,
   OPC_EmitIntegerI64, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 32|128,7, 33|128,7,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 20|128,7, 34|128,7,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 36|128,7, 37|128,7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 40|128,7,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 41|128,7, 42|128,7,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 39|128,7, 43|128,7, 44|128,7,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 45|128,7, 46|128,7, 47|128,7,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 48|128,7, 49|128,7,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 50|128,7, 51|128,7,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 38|128,7, 52|128,7,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 54|128,7, 55|128,7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 58|128,7,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 59|128,7, 60|128,7,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 57|128,7, 61|128,7, 62|128,7,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 63|128,7, 64|128,7, 65|128,7,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 66|128,7, 67|128,7,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 68|128,7, 69|128,7,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 56|128,7, 70|128,7,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 53|128,7, 71|128,7,
   OPC_EmitIntegerI32, 62,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 72|128,7, 73|128,7, 74|128,7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 77|128,7,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 78|128,7, 79|128,7,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 76|128,7, 80|128,7, 81|128,7,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 82|128,7, 83|128,7, 84|128,7,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 85|128,7, 86|128,7,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 87|128,7, 88|128,7,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 75|128,7, 89|128,7,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 91|128,7, 92|128,7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 95|128,7,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 96|128,7, 97|128,7,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 94|128,7, 98|128,7, 99|128,7,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 100|128,7, 101|128,7, 102|128,7,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 103|128,7, 104|128,7,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 105|128,7, 106|128,7,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 93|128,7, 107|128,7,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 109|128,7, 110|128,7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 113|128,7,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 114|128,7, 115|128,7,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 112|128,7, 116|128,7, 117|128,7,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 118|128,7, 119|128,7, 120|128,7,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 121|128,7, 122|128,7,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 123|128,7, 124|128,7,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 111|128,7, 125|128,7,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 108|128,7, 126|128,7,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 61,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 127|128,7, 0|128,8, 1|128,8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 4|128,8,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 5|128,8, 6|128,8,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 3|128,8, 7|128,8, 8|128,8,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 9|128,8, 10|128,8, 11|128,8,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 12|128,8, 13|128,8,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 14|128,8, 15|128,8,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 2|128,8, 16|128,8,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 90|128,7, 17|128,8,
   OPC_EmitIntegerI32, 4,
   OPC_EmitIntegerI32, 59,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 18|128,8, 19|128,8, 20|128,8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 23|128,8,
   OPC_EmitIntegerI32, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 24|128,8, 25|128,8,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 22|128,8, 26|128,8, 27|128,8,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 28|128,8, 29|128,8, 30|128,8,
   OPC_EmitIntegerI64, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 31|128,8, 32|128,8,
   OPC_EmitIntegerI64, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 33|128,8, 34|128,8,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 21|128,8, 35|128,8,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 35|128,7, 36|128,8,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 32,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 37|128,8, 38|128,8, 39|128,8,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 40|128,8, 41|128,8,
   OPC_EmitIntegerI32, 24,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                   MVT::i32, 4, 42|128,8, 43|128,8, 44|128,8, 45|128,8,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 47|128,8, 48|128,8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 51|128,8,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 52|128,8, 53|128,8,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 50|128,8, 54|128,8, 55|128,8,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 56|128,8, 57|128,8, 58|128,8,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 59|128,8, 60|128,8,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 61|128,8, 62|128,8,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 49|128,8, 63|128,8,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 65|128,8, 66|128,8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 69|128,8,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 70|128,8, 71|128,8,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 68|128,8, 72|128,8, 73|128,8,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 74|128,8, 75|128,8, 76|128,8,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 77|128,8, 78|128,8,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 79|128,8, 80|128,8,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 67|128,8, 81|128,8,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 64|128,8, 82|128,8,
   OPC_EmitIntegerI32, 62,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 83|128,8, 84|128,8, 85|128,8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 88|128,8,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 89|128,8, 90|128,8,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 87|128,8, 91|128,8, 92|128,8,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 93|128,8, 94|128,8, 95|128,8,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 96|128,8, 97|128,8,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 98|128,8, 99|128,8,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 86|128,8, 100|128,8,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 102|128,8, 103|128,8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 106|128,8,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 107|128,8, 108|128,8,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 105|128,8, 109|128,8, 110|128,8,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 111|128,8, 112|128,8, 113|128,8,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 114|128,8, 115|128,8,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 116|128,8, 117|128,8,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 104|128,8, 118|128,8,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 120|128,8, 121|128,8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 124|128,8,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 125|128,8, 126|128,8,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 123|128,8, 127|128,8, 0|128,9,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 1|128,9, 2|128,9, 3|128,9,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 4|128,9, 5|128,9,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 6|128,9, 7|128,9,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 122|128,8, 8|128,9,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 119|128,8, 9|128,9,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 61,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 10|128,9, 11|128,9, 12|128,9,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 15|128,9,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 16|128,9, 17|128,9,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 14|128,9, 18|128,9, 19|128,9,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 20|128,9, 21|128,9, 22|128,9,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 23|128,9, 24|128,9,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 25|128,9, 26|128,9,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 13|128,9, 27|128,9,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 101|128,8, 28|128,9,
   OPC_EmitIntegerI32, 60,
   OPC_EmitIntegerI32, 4,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 29|128,9, 30|128,9, 31|128,9,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 34|128,9,
   OPC_EmitIntegerI32, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 35|128,9, 36|128,9,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 33|128,9, 37|128,9, 38|128,9,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 39|128,9, 40|128,9, 41|128,9,
   OPC_EmitIntegerI64, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 42|128,9, 43|128,9,
   OPC_EmitIntegerI64, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 44|128,9, 45|128,9,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 32|128,9, 46|128,9,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 48|128,9, 49|128,9,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 52|128,9,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 53|128,9, 54|128,9,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 51|128,9, 55|128,9, 56|128,9,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 57|128,9, 58|128,9, 59|128,9,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 60|128,9, 61|128,9,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 62|128,9, 63|128,9,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 50|128,9, 64|128,9,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 66|128,9, 67|128,9,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 70|128,9,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 71|128,9, 72|128,9,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 69|128,9, 73|128,9, 74|128,9,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 75|128,9, 76|128,9, 77|128,9,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 78|128,9, 79|128,9,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 80|128,9, 81|128,9,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 68|128,9, 82|128,9,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 65|128,9, 83|128,9,
   OPC_EmitIntegerI32, 62,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 84|128,9, 85|128,9, 86|128,9,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 89|128,9,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 90|128,9, 91|128,9,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 88|128,9, 92|128,9, 93|128,9,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 94|128,9, 95|128,9, 96|128,9,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 97|128,9, 98|128,9,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 99|128,9, 100|128,9,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 87|128,9, 101|128,9,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 103|128,9, 104|128,9,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 107|128,9,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 108|128,9, 109|128,9,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 106|128,9, 110|128,9, 111|128,9,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 112|128,9, 113|128,9, 114|128,9,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 115|128,9, 116|128,9,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 117|128,9, 118|128,9,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 105|128,9, 119|128,9,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 121|128,9, 122|128,9,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 125|128,9,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 126|128,9, 127|128,9,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 124|128,9, 0|128,10, 1|128,10,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 2|128,10, 3|128,10, 4|128,10,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 5|128,10, 6|128,10,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 7|128,10, 8|128,10,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 123|128,9, 9|128,10,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 120|128,9, 10|128,10,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 61,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 11|128,10, 12|128,10, 13|128,10,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 16|128,10,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 17|128,10, 18|128,10,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 15|128,10, 19|128,10, 20|128,10,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 21|128,10, 22|128,10, 23|128,10,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 24|128,10, 25|128,10,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 26|128,10, 27|128,10,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 14|128,10, 28|128,10,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 102|128,9, 29|128,10,
   OPC_EmitIntegerI32, 4,
   OPC_EmitIntegerI32, 59,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 30|128,10, 31|128,10, 32|128,10,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 35|128,10,
   OPC_EmitIntegerI32, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 36|128,10, 37|128,10,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 34|128,10, 38|128,10, 39|128,10,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 40|128,10, 41|128,10, 42|128,10,
   OPC_EmitIntegerI64, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 43|128,10, 44|128,10,
   OPC_EmitIntegerI64, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 45|128,10, 46|128,10,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 33|128,10, 47|128,10,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 47|128,9, 48|128,10,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 32,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 49|128,10, 50|128,10, 51|128,10,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 52|128,10, 53|128,10,
   OPC_EmitIntegerI32, 8,
   OPC_EmitIntegerI32, 8,
   OPC_EmitIntegerI32, 15,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
                   MVT::i32, 5, 46|128,8, 54|128,10, 55|128,10, 56|128,10, 57|128,10,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 59|128,10, 60|128,10,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 63|128,10,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 64|128,10, 65|128,10,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 62|128,10, 66|128,10, 67|128,10,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 68|128,10, 69|128,10, 70|128,10,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 71|128,10, 72|128,10,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 73|128,10, 74|128,10,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 61|128,10, 75|128,10,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 77|128,10, 78|128,10,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 81|128,10,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 82|128,10, 83|128,10,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 80|128,10, 84|128,10, 85|128,10,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 86|128,10, 87|128,10, 88|128,10,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 89|128,10, 90|128,10,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 91|128,10, 92|128,10,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 79|128,10, 93|128,10,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 76|128,10, 94|128,10,
   OPC_EmitIntegerI32, 62,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 95|128,10, 96|128,10, 97|128,10,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 100|128,10,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 101|128,10, 102|128,10,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 99|128,10, 103|128,10, 104|128,10,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 105|128,10, 106|128,10, 107|128,10,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 108|128,10, 109|128,10,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 110|128,10, 111|128,10,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 98|128,10, 112|128,10,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 114|128,10, 115|128,10,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 118|128,10,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 119|128,10, 120|128,10,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 117|128,10, 121|128,10, 122|128,10,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 123|128,10, 124|128,10, 125|128,10,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 126|128,10, 127|128,10,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 0|128,11, 1|128,11,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 116|128,10, 2|128,11,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 4|128,11, 5|128,11,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 8|128,11,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 9|128,11, 10|128,11,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 7|128,11, 11|128,11, 12|128,11,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 13|128,11, 14|128,11, 15|128,11,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 16|128,11, 17|128,11,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 18|128,11, 19|128,11,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 6|128,11, 20|128,11,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 3|128,11, 21|128,11,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 61,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 22|128,11, 23|128,11, 24|128,11,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 27|128,11,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 28|128,11, 29|128,11,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 26|128,11, 30|128,11, 31|128,11,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 32|128,11, 33|128,11, 34|128,11,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 35|128,11, 36|128,11,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 37|128,11, 38|128,11,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 25|128,11, 39|128,11,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 113|128,10, 40|128,11,
   OPC_EmitIntegerI32, 60,
   OPC_EmitIntegerI32, 4,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 41|128,11, 42|128,11, 43|128,11,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 46|128,11,
   OPC_EmitIntegerI32, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 47|128,11, 48|128,11,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 45|128,11, 49|128,11, 50|128,11,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 51|128,11, 52|128,11, 53|128,11,
   OPC_EmitIntegerI64, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 54|128,11, 55|128,11,
   OPC_EmitIntegerI64, 15|128,30,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 56|128,11, 57|128,11,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 44|128,11, 58|128,11,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 60|128,11, 61|128,11,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 64|128,11,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 65|128,11, 66|128,11,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 63|128,11, 67|128,11, 68|128,11,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 69|128,11, 70|128,11, 71|128,11,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 72|128,11, 73|128,11,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 74|128,11, 75|128,11,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 62|128,11, 76|128,11,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 78|128,11, 79|128,11,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 82|128,11,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 83|128,11, 84|128,11,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 81|128,11, 85|128,11, 86|128,11,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 87|128,11, 88|128,11, 89|128,11,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 90|128,11, 91|128,11,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 92|128,11, 93|128,11,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 80|128,11, 94|128,11,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 77|128,11, 95|128,11,
   OPC_EmitIntegerI32, 62,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 96|128,11, 97|128,11, 98|128,11,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 101|128,11,
   OPC_EmitIntegerI32, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 102|128,11, 103|128,11,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 100|128,11, 104|128,11, 105|128,11,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 106|128,11, 107|128,11, 108|128,11,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 109|128,11, 110|128,11,
   OPC_EmitIntegerI64, 51|128,102|128,0,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 111|128,11, 112|128,11,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 99|128,11, 113|128,11,
   OPC_EmitIntegerI32, 63,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 0, 115|128,11, 116|128,11,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 119|128,11,
   OPC_EmitIntegerI32, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 120|128,11, 121|128,11,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 118|128,11, 122|128,11, 123|128,11,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 124|128,11, 125|128,11, 126|128,11,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 127|128,11, 0|128,12,
   OPC_EmitIntegerI64, 85|128,42|128,1,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 1|128,12, 2|128,12,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 117|128,11, 3|128,12,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 62,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 0, 5|128,12, 6|128,12,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 9|128,12,
   OPC_EmitIntegerI32, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 10|128,12, 11|128,12,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 8|128,12, 12|128,12, 13|128,12,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 14|128,12, 15|128,12, 16|128,12,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 17|128,12, 18|128,12,
   OPC_EmitIntegerI64, 42|128,85|128,2,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 19|128,12, 20|128,12,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 7|128,12, 21|128,12,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 4|128,12, 22|128,12,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 61,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 23|128,12, 24|128,12, 25|128,12,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 28|128,12,
   OPC_EmitIntegerI32, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 29|128,12, 30|128,12,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 27|128,12, 31|128,12, 32|128,12,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 33|128,12, 34|128,12, 35|128,12,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 36|128,12, 37|128,12,
   OPC_EmitIntegerI64, 76|128,25|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 38|128,12, 39|128,12,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 26|128,12, 40|128,12,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 114|128,11, 41|128,12,
   OPC_EmitIntegerI32, 4,
   OPC_EmitIntegerI32, 59,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 42|128,12, 43|128,12, 44|128,12,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
                   MVT::i32, 1, 47|128,12,
   OPC_EmitIntegerI32, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
                   MVT::i32, 2, 48|128,12, 49|128,12,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 46|128,12, 50|128,12, 51|128,12,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                   MVT::i64, 3, 52|128,12, 53|128,12, 54|128,12,
   OPC_EmitIntegerI64, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
                   MVT::i64, 2, 55|128,12, 56|128,12,
   OPC_EmitIntegerI64, 112|128,97|128,3,
   OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
                   MVT::i64, 2, 57|128,12, 58|128,12,
   OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
                   MVT::i64, 2, 45|128,12, 59|128,12,
   OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 59|128,11, 60|128,12,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 32,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
                   MVT::i64, 3, 61|128,12, 62|128,12, 63|128,12,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 64|128,12, 65|128,12,
   OPC_EmitIntegerI32, 8,
   OPC_EmitIntegerI32, 24,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
                   MVT::i32, 5, 58|128,10, 66|128,12, 67|128,12, 68|128,12, 69|128,12,
   OPC_EmitIntegerI32, PPC::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 34|128,6, 70|128,12, 71|128,12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::OR8),
                   MVT::i64, 2, 33|128,6, 72|128,12,
  0,
 2|128,17, TARGET_VAL(PPCISD::FCFIDUS),
  OPC_Scope, 102|128,16,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 86|128,15, TARGET_VAL(PPCISD::MTVSRZ),
    OPC_MoveChild0,
    OPC_Scope, 53|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, 36,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 6,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 4,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 5,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 6,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     0,
    92|128,4,
     OPC_CheckAndImm, 127|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 36,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 6,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 4,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 5,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 6,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 16,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 9,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 18,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 10,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 20,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 22,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 24,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 26,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 14,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 28,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     36,
      OPC_CheckChild1Integer, 15,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 30,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     0,
    45|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, 35,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 4,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 6,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 5,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 6,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     0,
    76|128,4,
     OPC_CheckAndImm, 127|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 35,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 15,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 13,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 4,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 11,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 5,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 6,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 9,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 7,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 9,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 6,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 10,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 5,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 14,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     35,
      OPC_CheckChild1Integer, 15,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     0,
    63|128,1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckTypeI32,
     OPC_Scope, 45,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                       MVT::f32, 1, 2,
      16,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                       MVT::f32, 1, 2,
      0,
     45,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                       MVT::f32, 1, 2,
      16,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                       MVT::f32, 1, 2,
      0,
     45,
      OPC_CheckChild1Integer, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                       MVT::f32, 1, 2,
      16,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                       MVT::f32, 1, 2,
      0,
     45,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                       MVT::f32, 1, 2,
      16,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                       MVT::f32, 1, 2,
      0,
     0,
    0,
   5|128,1, TARGET_VAL(PPCISD::MTVSRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_CheckTypeI64,
    OPC_Scope, 56,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 2,
     27,
      OPC_CheckPatternPredicate, 24,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     0,
    65,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_Scope, 27,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     26,
      OPC_CheckPatternPredicate, 24,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                      MVT::f32, 1, 4,
     0,
    0,
   0,
  23,
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
                    MVT::f32, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCFIDUS),
                    MVT::f32, 1, 0,
   0,
  0,
 82|128,21, TARGET_VAL(PPCISD::FCFIDU),
  OPC_Scope, 57|128,21,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 110|128,14, TARGET_VAL(PPCISD::MTVSRZ),
    OPC_MoveChild0,
    OPC_Scope, 37|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, 34,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 6,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 4,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 5,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 6,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     0,
    60|128,4,
     OPC_CheckAndImm, 127|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 34,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 6,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 4,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 5,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 6,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 16,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 9,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 18,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 10,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 20,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 22,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 24,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 26,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 14,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 28,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     34,
      OPC_CheckChild1Integer, 15,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 30,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     0,
    29|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, 33,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 4,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 6,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 5,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 6,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     0,
    44|128,4,
     OPC_CheckAndImm, 127|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 33,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 15,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 13,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 4,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 11,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 5,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 6,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 9,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 7,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 7,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 9,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 6,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 10,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 5,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 14,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     33,
      OPC_CheckChild1Integer, 15,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                      MVT::f64, 1, 4,
     0,
    55|128,1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckTypeI32,
     OPC_Scope, 43,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                       MVT::f64, 1, 2,
      16,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                       MVT::f64, 1, 2,
      0,
     43,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                       MVT::f64, 1, 2,
      16,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                       MVT::f64, 1, 2,
      0,
     43,
      OPC_CheckChild1Integer, 2,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                       MVT::f64, 1, 2,
      16,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                       MVT::f64, 1, 2,
      0,
     43,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 14,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                       MVT::f64, 1, 2,
      16,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                       MVT::f64, 1, 2,
      0,
     0,
    0,
   64|128,6, TARGET_VAL(PPCISD::MTVSRA),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 57|128,5, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 42,
      OPC_CheckChild1Integer, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 15,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 2,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 13,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 3,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 4,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 11,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 5,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 6,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 9,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 7,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 8,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 7,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 9,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 6,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 10,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 5,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 11,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 12,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 13,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 14,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     42,
      OPC_CheckChild1Integer, 15,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                      MVT::f64, 1, 5,
     0,
    125, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_CheckTypeI64,
     OPC_Scope, 54,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                       MVT::f64, 1, 2,
      27,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       MVT::v4i32, 3, 0, 0, 1,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                       MVT::f64, 1, 4,
      0,
     63,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 27,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       MVT::v4i32, 3, 0, 0, 1,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                       MVT::f64, 1, 4,
      26,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                       MVT::f64, 1, 4,
      0,
     0,
    0,
   0,
  20,
   OPC_RecordChild0,
   OPC_CheckType, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
                    MVT::f64, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCFIDU),
                    MVT::f64, 1, 0,
   0,
  0,
 113|128,17, TARGET_VAL(ISD::UINT_TO_FP),
  OPC_Scope, 12|128,17,
   OPC_MoveChild0,
   OPC_Scope, 29|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, 33,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 2,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 3,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 6,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 4,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 10,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 6,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 12,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 7,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    0,
   44|128,4,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 33,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 2,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 3,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 4,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 5,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 6,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 6,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 7,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 8,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 9,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 9,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 10,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 10,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 11,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 12,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 12,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 13,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 13,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 14,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    33,
     OPC_CheckChild1Integer, 15,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 15,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    0,
   21|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, 32,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 12,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 2,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 10,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 3,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 4,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 6,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 6,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 7,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    0,
   28|128,4,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_Scope, 32,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 15,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 2,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 13,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 3,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 12,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 4,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 11,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 10,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 6,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 9,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 7,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 8,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 9,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 6,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 10,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 5,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 11,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 12,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 13,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 14,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    32,
     OPC_CheckChild1Integer, 15,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                     MVT::f128, 2, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    0,
   8|128,1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 11,
    OPC_Scope, 49,
     OPC_CheckPredicate5,
     OPC_SwitchType , 21, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
                      MVT::f128, 1, 4,
     21, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
                      MVT::f128, 1, 4,
     0,
    51,
     OPC_CheckPredicate, 14,
     OPC_CheckTypeI32,
     OPC_Scope, 22,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
                      MVT::f128, 1, 4,
     22,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
                      MVT::f128, 1, 4,
     0,
    23,
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LXSDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 4,
    0,
   36|128,2,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 98,
     OPC_CheckChild1Integer, 0,
     OPC_SwitchType , 50, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, PPC::VFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                       MVT::f128, 1, 2,
      26,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       MVT::v4i32, 3, 0, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                       MVT::f128, 1, 4,
      0,
     40, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                       MVT::f128, 1, 2,
      16,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                       MVT::f128, 1, 2,
      0,
     0,
    98,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 40, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                       MVT::f128, 1, 2,
      16,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                       MVT::f128, 1, 2,
      0,
     50, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 16,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, PPC::VFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                       MVT::f128, 1, 2,
      27,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       MVT::v4i32, 3, 0, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                       MVT::f128, 1, 4,
      0,
     0,
    43,
     OPC_CheckChild1Integer, 2,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                      MVT::f64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                      MVT::f128, 1, 2,
     16,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                      MVT::f64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                      MVT::f128, 1, 2,
     0,
    43,
     OPC_CheckChild1Integer, 3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                      MVT::f64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                      MVT::f128, 1, 2,
     16,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                      MVT::f64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                      MVT::f128, 1, 2,
     0,
    0,
   86,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 10, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 0,
    64, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_Scope, 29,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 1, 0, 2,
      OPC_EmitIntegerI32, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                      MVT::f128, 1, 5,
     28,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 1, 0, 2,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                      MVT::f128, 1, 5,
     0,
    0,
   0,
  96,
   OPC_RecordChild0,
   OPC_Scope, 19,
    OPC_CheckChild0TypeI64,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_EmitIntegerI32, PPC::VFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                    MVT::f128, 1, 2,
   36,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 13, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                     MVT::f64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 1,
    7, MVT::f64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDCFUI),
                     MVT::f64, 1, 0,
    7, MVT::f32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSCFUI),
                     MVT::f32, 1, 0,
    0,
   11,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXDDP),
                    22|128,1, 1, 0,
   23,
    OPC_CheckType, 4|128,1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWSP),
                     4|128,1, 1, 0,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFUX_0),
                     4|128,1, 1, 0,
    0,
   0,
  0,
 35, TARGET_VAL(PPCISD::LXSIZX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 14,
   OPC_CheckChild2Integer, 1,
   OPC_CheckPatternPredicate7,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3,
  14,
   OPC_CheckChild2Integer, 2,
   OPC_CheckPatternPredicate7,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3,
  0,
 92|128,18, TARGET_VAL(PPCISD::FCFIDS),
  OPC_Scope, 64|128,18,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 43|128,15, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 12|128,5,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 80,
      OPC_CheckChild1Integer, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 2,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 3,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 4,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 5,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 6,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 7,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     0,
    20|128,10,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 80,
      OPC_CheckChild1Integer, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 15,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 2,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 13,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 3,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 4,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 11,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 5,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 6,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 9,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 7,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 8,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 16,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 7,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 9,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 18,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 10,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 20,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 5,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 11,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 22,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 12,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 24,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 13,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 26,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 14,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 28,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     80,
      OPC_CheckChild1Integer, 15,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 30,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                       MVT::f32, 1, 5,
      0,
     0,
    0,
   6|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 67,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_CheckTypeI64,
     OPC_Scope, 25,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                      MVT::f32, 1, 2,
     35,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                      MVT::f32, 1, 4,
     0,
    99,
     OPC_CheckChild1Integer, 0,
     OPC_SwitchType , 56, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 23,
       OPC_CheckPatternPredicate, 31,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
                       MVT::v4i32, 1, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                       MVT::f32, 1, 3,
      23,
       OPC_CheckPatternPredicate, 24,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
                       MVT::v4i32, 1, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                       MVT::f32, 1, 3,
      0,
     35, MVT::i64,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 24,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 0, 0, 1,
      OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                      MVT::f32, 1, 4,
     0,
    98,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 56, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 23,
       OPC_CheckPatternPredicate, 31,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
                       MVT::v4i32, 1, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                       MVT::f32, 1, 3,
      23,
       OPC_CheckPatternPredicate, 24,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
                       MVT::v4i32, 1, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                       MVT::f32, 1, 3,
      0,
     34, MVT::i64,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 24,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 0, 1,
      OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                      MVT::f32, 1, 4,
     0,
    59,
     OPC_CheckChild1Integer, 2,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_Scope, 23,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
                      MVT::v4i32, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                      MVT::f32, 1, 3,
     23,
      OPC_CheckPatternPredicate, 24,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
                      MVT::v4i32, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                      MVT::f32, 1, 3,
     0,
    59,
     OPC_CheckChild1Integer, 3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_Scope, 23,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
                      MVT::v4i32, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                      MVT::f32, 1, 3,
     23,
      OPC_CheckPatternPredicate, 24,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
                      MVT::v4i32, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
                      MVT::f32, 1, 3,
     0,
    0,
   0,
  23,
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
                    MVT::f32, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCFIDS),
                    MVT::f32, 1, 0,
   0,
  0,
 36|128,18, TARGET_VAL(PPCISD::FCFID),
  OPC_Scope, 11|128,18,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 123|128,14, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 124|128,4,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 78,
      OPC_CheckChild1Integer, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 2,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 3,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 4,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 5,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 6,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 7,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     0,
    116|128,9,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 78,
      OPC_CheckChild1Integer, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 15,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 2,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 13,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 3,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 4,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 11,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 5,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 6,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 9,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 7,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 8,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 16,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 7,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 9,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 18,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 10,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 20,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 5,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 11,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 22,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 12,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 24,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 13,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 26,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 14,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 28,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     78,
      OPC_CheckChild1Integer, 15,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 30,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 5,
      0,
     0,
    0,
   1|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_SwitchType , 123, MVT::i64,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_Scope, 54,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 2,
      27,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       MVT::v4i32, 3, 0, 0, 1,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 4,
      0,
     63,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 27,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       MVT::v4i32, 3, 0, 0, 1,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 4,
      26,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 0, 1,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                       MVT::f64, 1, 4,
      0,
     0,
    126|128,1, MVT::i32,
     OPC_Scope, 62,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 26,
       OPC_CheckPatternPredicate, 31,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
                       MVT::v4i32, 1, 2,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 3, 4,
      26,
       OPC_CheckPatternPredicate, 24,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
                       MVT::v4i32, 1, 2,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 3, 4,
      0,
     62,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 26,
       OPC_CheckPatternPredicate, 31,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
                       MVT::v4i32, 1, 2,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 3, 4,
      26,
       OPC_CheckPatternPredicate, 24,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
                       MVT::v4i32, 1, 2,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 3, 4,
      0,
     62,
      OPC_CheckChild1Integer, 2,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 26,
       OPC_CheckPatternPredicate, 31,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
                       MVT::v4i32, 1, 2,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 3, 4,
      26,
       OPC_CheckPatternPredicate, 24,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
                       MVT::v4i32, 1, 2,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 3, 4,
      0,
     62,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 26,
       OPC_CheckPatternPredicate, 31,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
                       MVT::v4i32, 1, 2,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 3, 4,
      26,
       OPC_CheckPatternPredicate, 24,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
                       MVT::v4i32, 1, 2,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 3, 4,
      0,
     0,
    0,
   0,
  20,
   OPC_RecordChild0,
   OPC_CheckType, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
                    MVT::f64, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCFID),
                    MVT::f64, 1, 0,
   0,
  0,
 115, TARGET_VAL(ISD::FP_ROUND),
  OPC_Scope, 47,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_RecordChild1,
   OPC_CheckPredicate, 11,
   OPC_CheckPredicate, 9,
   OPC_CheckPredicate, 15,
   OPC_CheckType, MVT::f64,
   OPC_MoveParent,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate7,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 3,
   13,
    OPC_CheckPatternPredicate, 11,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 3,
   0,
  64,
   OPC_RecordChild0,
   OPC_Scope, 31,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckType, MVT::f32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRSP),
                     MVT::f32, 1, 0,
    7,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRSP),
                     MVT::f32, 1, 0,
    7,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSCFD),
                     MVT::f32, 1, 0,
    0,
   28,
    OPC_CheckChild0Type, MVT::f128,
    OPC_SwitchType , 7, MVT::f64,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVQPDP),
                     MVT::f64, 1, 0,
    13, MVT::f32,
     OPC_CheckPatternPredicate7,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVQPDPO),
                     MVT::f64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRSP),
                     MVT::f32, 1, 1,
    0,
   0,
  0,
 45|128,1, TARGET_VAL(ISD::STRICT_SINT_TO_FP),
  OPC_RecordNode,
  OPC_Scope, 78,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 32, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 11,
    OPC_CheckPredicate5,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 3, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
                    MVT::f128, 1, 5,
   37, TARGET_VAL(PPCISD::MFVSR),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 11, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
                     MVT::f128, 1, 1,
    17, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSW2Ds),
                     MVT::f64, 1, 1,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
                     MVT::f128, 1, 2,
    0,
   0,
  90,
   OPC_RecordChild1,
   OPC_Scope, 20,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, PPC::VFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 1, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
                    MVT::f128, 1, 3,
   39,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 14, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWA),
                     MVT::f64, 1, 1,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
                     MVT::f128, 1, 2,
    8, MVT::f64,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDCFSI),
                     MVT::f64, 1, 1,
    8, MVT::f32,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSCFSI),
                     MVT::f32, 1, 1,
    0,
   12,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSXDDP),
                    22|128,1, 1, 1,
   12,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSXWSP),
                    4|128,1, 1, 1,
   0,
  0,
 79|128,19, TARGET_VAL(ISD::SINT_TO_FP),
  OPC_Scope, 106|128,18,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 75, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 11,
    OPC_CheckPredicate5,
    OPC_SwitchType , 21, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
                     MVT::f128, 1, 4,
    42, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_Scope, 17,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
                      MVT::f128, 1, 4,
     17,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSDX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
                      MVT::f128, 1, 4,
     0,
    0,
   99|128,14, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 116|128,4,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 77,
      OPC_CheckChild1Integer, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 2,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 3,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 4,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 5,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 6,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 7,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     0,
    100|128,9,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 77,
      OPC_CheckChild1Integer, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 15,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 2,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 13,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 3,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 4,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 11,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 5,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 5,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 6,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 9,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 7,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 7,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 8,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 7,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 9,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 9,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 6,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 10,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 10,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 5,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 11,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 11,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 4,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 12,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 12,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 13,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 13,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 14,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 14,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     77,
      OPC_CheckChild1Integer, 15,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 15,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     0,
    0,
   8|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 0|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_SwitchType , 50, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, PPC::VFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 2,
      26,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       MVT::v4i32, 3, 0, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 4,
      0,
     70, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 32,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTW),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTW),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     0,
    119,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 50, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 16,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, PPC::VFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 2,
      27,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       MVT::v4i32, 3, 0, 0, 1,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 4,
      0,
     61, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f128,
      OPC_Scope, 23,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
                       MVT::f128, 1, 0,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 1, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 3,
      31,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTW),
                       MVT::f128, 2, 1, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
                       MVT::f128, 1, 2,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                       MVT::f128, 1, 5,
      0,
     0,
    64,
     OPC_CheckChild1Integer, 2,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_Scope, 22,
      OPC_CheckPatternPredicate6,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
                      MVT::f128, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                      MVT::f128, 1, 3,
     32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTW),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                      MVT::f128, 1, 5,
     0,
    73,
     OPC_CheckChild1Integer, 3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTW),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                      MVT::f128, 1, 5,
     31,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTW),
                      MVT::f128, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                      MVT::f128, 1, 5,
     0,
    0,
   35, TARGET_VAL(PPCISD::MFVSR),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 10, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                     MVT::f128, 1, 0,
    16, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2Ds),
                     MVT::f64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                     MVT::f128, 1, 1,
    0,
   0,
  96,
   OPC_RecordChild0,
   OPC_Scope, 19,
    OPC_CheckChild0TypeI64,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_EmitIntegerI32, PPC::VFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                    MVT::f128, 1, 2,
   36,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 13, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWA),
                     MVT::f64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
                     MVT::f128, 1, 1,
    7, MVT::f64,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDCFSI),
                     MVT::f64, 1, 0,
    7, MVT::f32,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSCFSI),
                     MVT::f32, 1, 0,
    0,
   11,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXDDP),
                    22|128,1, 1, 0,
   23,
    OPC_CheckType, 4|128,1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWSP),
                     4|128,1, 1, 0,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFSX_0),
                     4|128,1, 1, 0,
    0,
   0,
  0,
 23|128,1, TARGET_VAL(ISD::STRICT_UINT_TO_FP),
  OPC_RecordNode,
  OPC_Scope, 56,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 32, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 11,
    OPC_CheckPredicate5,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 3, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
                    MVT::f128, 1, 5,
   15, TARGET_VAL(PPCISD::MFVSR),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
                    MVT::f128, 1, 1,
   0,
  90,
   OPC_RecordChild1,
   OPC_Scope, 20,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, PPC::VFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 1, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
                    MVT::f128, 1, 3,
   39,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 14, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                     MVT::f64, 1, 1,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
                     MVT::f128, 1, 2,
    8, MVT::f64,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDCFUI),
                     MVT::f64, 1, 1,
    8, MVT::f32,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSCFUI),
                     MVT::f32, 1, 1,
    0,
   12,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVUXDDP),
                    22|128,1, 1, 1,
   12,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVUXWSP),
                    4|128,1, 1, 1,
   0,
  0,
 117|128,6, TARGET_VAL(ISD::FNEG),
  OPC_Scope, 79|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 37, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 26|128,90|128,0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_Scope, 16,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBQPO),
                     MVT::f128, 3, 2, 0, 1,
    11,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDQPO),
                     MVT::f128, 3, 2, 0, 1,
    0,
   94, TARGET_VAL(ISD::STRICT_FMA),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_Scope, 46,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 10, MVT::f64,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSNMSUBADP),
                      MVT::f64, 3, 3, 1, 2,
     11, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSNMSUBASP),
                      MVT::f32, 3, 3, 1, 2,
     10, MVT::f128,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSNMSUBQP),
                      MVT::f128, 3, 3, 1, 2,
     0,
    41,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_SwitchType , 10, MVT::f64,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSNMADDADP),
                      MVT::f64, 3, 3, 1, 2,
     11, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSNMADDASP),
                      MVT::f32, 3, 3, 1, 2,
     10, MVT::f128,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSNMADDQP),
                      MVT::f128, 3, 3, 1, 2,
     0,
    0,
   87, TARGET_VAL(ISD::FMA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 43,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::f64,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBADP),
                      MVT::f64, 3, 2, 0, 1,
     10, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBASP),
                      MVT::f32, 3, 2, 0, 1,
     9, MVT::f128,
      OPC_CheckPatternPredicate7,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBQP),
                      MVT::f128, 3, 2, 0, 1,
     0,
    38,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::f64,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDADP),
                      MVT::f64, 3, 2, 0, 1,
     10, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDASP),
                      MVT::f32, 3, 2, 0, 1,
     9, MVT::f128,
      OPC_CheckPatternPredicate7,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDQP),
                      MVT::f128, 3, 2, 0, 1,
     0,
    0,
   59, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 7, MVT::f64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNABSDP),
                     MVT::f64, 1, 0,
    35, MVT::f32,
     OPC_CheckPatternPredicate2,
     OPC_Scope, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNABSDPs),
                      MVT::f32, 1, 0,
     24,
      OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f64, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSNABSDP),
                      MVT::f64, 1, 2,
      OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f32, 2, 3, 4,
     0,
    7, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNABSQP),
                     MVT::f128, 1, 0,
    0,
   40, TARGET_VAL(PPCISD::FNMSUB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::f64,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBADP),
                     MVT::f64, 3, 2, 0, 1,
    10, MVT::f32,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBASP),
                     MVT::f32, 3, 2, 0, 1,
    9, MVT::f128,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBQP),
                     MVT::f128, 3, 2, 0, 1,
    0,
   0,
  49,
   OPC_RecordChild0,
   OPC_SwitchType , 7, MVT::f64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNEGDP),
                    MVT::f64, 1, 0,
   7, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNEGQP),
                    MVT::f128, 1, 0,
   26, MVT::f32,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSNEGDP),
                    MVT::f64, 1, 2,
    OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 3, 4,
   0,
  90|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 68, TARGET_VAL(ISD::STRICT_FMA),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_Scope, 33,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 10, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FNMSUB),
                      MVT::f64, 3, 1, 2, 3,
     10, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FNMSUBS),
                      MVT::f32, 3, 1, 2, 3,
     0,
    28,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_SwitchType , 10, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FNMADD),
                      MVT::f64, 3, 1, 2, 3,
     10, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FNMADDS),
                      MVT::f32, 3, 1, 2, 3,
     0,
    0,
   63, TARGET_VAL(ISD::FMA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 31,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMSUB),
                      MVT::f64, 3, 0, 1, 2,
     9, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMSUBS),
                      MVT::f32, 3, 0, 1, 2,
     0,
    26,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMADD),
                      MVT::f64, 3, 0, 1, 2,
     9, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMADDS),
                      MVT::f32, 3, 0, 1, 2,
     0,
    0,
   44, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 18, MVT::f32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNABSS),
                      MVT::f32, 1, 0,
     7,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSNABS),
                      MVT::f32, 1, 0,
     0,
    18, MVT::f64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNABSD),
                      MVT::f64, 1, 0,
     7,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDNABS),
                      MVT::f64, 1, 0,
     0,
    0,
   28, TARGET_VAL(PPCISD::FNMSUB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::f64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMSUB),
                     MVT::f64, 3, 0, 1, 2,
    9, MVT::f32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMSUBS),
                     MVT::f32, 3, 0, 1, 2,
    0,
   0,
  43,
   OPC_RecordChild0,
   OPC_SwitchType , 18, MVT::f32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNEGS),
                     MVT::f32, 1, 0,
    7,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSNEG),
                     MVT::f32, 1, 0,
    0,
   18, MVT::f64,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNEGD),
                     MVT::f64, 1, 0,
    7,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDNEG),
                     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 , 11, 22|128,1,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVNMSUBADP),
                      22|128,1, 3, 3, 1, 2,
     11, 4|128,1,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVNMSUBASP),
                      4|128,1, 3, 3, 1, 2,
     0,
    16,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVNMADDADP),
                     22|128,1, 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 , 10, 22|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMSUBADP),
                      22|128,1, 3, 2, 0, 1,
     10, 4|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMSUBASP),
                      4|128,1, 3, 2, 0, 1,
     0,
    30,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_SwitchType , 10, 22|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMADDADP),
                      22|128,1, 3, 2, 0, 1,
     10, 4|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMADDASP),
                      4|128,1, 3, 2, 0, 1,
     0,
    0,
   26, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 8, 22|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNABSDP),
                     22|128,1, 1, 0,
    8, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNABSSP),
                     4|128,1, 1, 0,
    0,
   32, TARGET_VAL(PPCISD::FNMSUB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 10, 22|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMSUBADP),
                     22|128,1, 3, 2, 0, 1,
    10, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMSUBASP),
                     4|128,1, 3, 2, 0, 1,
    0,
   0,
  25,
   OPC_RecordChild0,
   OPC_SwitchType , 8, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNEGDP),
                    22|128,1, 1, 0,
   8, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNEGSP),
                    4|128,1, 1, 0,
   0,
  0,
 32, TARGET_VAL(PPCISD::LFIWAX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 13,
   OPC_CheckPatternPredicate, 11,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3,
  12,
   OPC_CheckPatternPredicate1,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LFIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3,
  0,
 32, TARGET_VAL(PPCISD::LFIWZX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 13,
   OPC_CheckPatternPredicate, 11,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3,
  12,
   OPC_CheckPatternPredicate1,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LFIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3,
  0,
 41, TARGET_VAL(PPCISD::VEXTS),
  OPC_RecordChild0,
  OPC_Scope, 18,
   OPC_CheckChild1Integer, 1,
   OPC_CheckPatternPredicate7,
   OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2Ds),
                   MVT::f64, 1, 0,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 1, 2,
  18,
   OPC_CheckChild1Integer, 2,
   OPC_CheckPatternPredicate7,
   OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2Ds),
                   MVT::f64, 1, 0,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 1, 2,
  0,
 94|128,1, TARGET_VAL(ISD::STRICT_FMA),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 45,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 10, MVT::f64,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMSUBADP),
                    MVT::f64, 3, 3, 1, 2,
   11, MVT::f32,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMSUBASP),
                    MVT::f32, 3, 3, 1, 2,
   10, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMSUBQP),
                    MVT::f128, 3, 3, 1, 2,
   0,
  40,
   OPC_RecordChild3,
   OPC_SwitchType , 10, MVT::f64,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMADDADP),
                    MVT::f64, 3, 3, 1, 2,
   11, MVT::f32,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMADDASP),
                    MVT::f32, 3, 3, 1, 2,
   10, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMADDQP),
                    MVT::f128, 3, 3, 1, 2,
   0,
  32,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 10, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FMSUB),
                    MVT::f64, 3, 1, 2, 3,
   10, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FMSUBS),
                    MVT::f32, 3, 1, 2, 3,
   0,
  27,
   OPC_RecordChild3,
   OPC_SwitchType , 10, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FMADD),
                    MVT::f64, 3, 1, 2, 3,
   10, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FMADDS),
                    MVT::f32, 3, 1, 2, 3,
   0,
  36,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 11, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVMSUBADP),
                    22|128,1, 3, 3, 1, 2,
   11, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVMSUBASP),
                    4|128,1, 3, 3, 1, 2,
   0,
  31,
   OPC_RecordChild3,
   OPC_SwitchType , 11, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVMADDADP),
                    22|128,1, 3, 3, 1, 2,
   11, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVMADDASP),
                    4|128,1, 3, 3, 1, 2,
   0,
  0,
 93|128,1, TARGET_VAL(ISD::FMA),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 42,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::f64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBADP),
                    MVT::f64, 3, 2, 0, 1,
   10, MVT::f32,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBASP),
                    MVT::f32, 3, 2, 0, 1,
   9, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBQP),
                    MVT::f128, 3, 2, 0, 1,
   0,
  37,
   OPC_RecordChild2,
   OPC_SwitchType , 9, MVT::f64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMADDADP),
                    MVT::f64, 3, 2, 0, 1,
   10, MVT::f32,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMADDASP),
                    MVT::f32, 3, 2, 0, 1,
   9, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMADDQP),
                    MVT::f128, 3, 2, 0, 1,
   0,
  30,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMSUB),
                    MVT::f64, 3, 0, 1, 2,
   9, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMSUBS),
                    MVT::f32, 3, 0, 1, 2,
   0,
  25,
   OPC_RecordChild2,
   OPC_SwitchType , 9, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMADD),
                    MVT::f64, 3, 0, 1, 2,
   9, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMADDS),
                    MVT::f32, 3, 0, 1, 2,
   0,
  34,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 10, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMSUBADP),
                    22|128,1, 3, 2, 0, 1,
   10, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMSUBASP),
                    4|128,1, 3, 2, 0, 1,
   0,
  43,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMADDADP),
                    22|128,1, 3, 2, 0, 1,
   24, 4|128,1,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMADDASP),
                     4|128,1, 3, 2, 0, 1,
    10,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMADDFP),
                     4|128,1, 3, 0, 1, 2,
    0,
   0,
  0,
 93|128,1, TARGET_VAL(PPCISD::FNMSUB),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 42,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::f64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDADP),
                    MVT::f64, 3, 2, 0, 1,
   10, MVT::f32,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDASP),
                    MVT::f32, 3, 2, 0, 1,
   9, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDQP),
                    MVT::f128, 3, 2, 0, 1,
   0,
  37,
   OPC_RecordChild2,
   OPC_SwitchType , 9, MVT::f64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBADP),
                    MVT::f64, 3, 2, 0, 1,
   10, MVT::f32,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBASP),
                    MVT::f32, 3, 2, 0, 1,
   9, MVT::f128,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBQP),
                    MVT::f128, 3, 2, 0, 1,
   0,
  30,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMADD),
                    MVT::f64, 3, 0, 1, 2,
   9, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMADDS),
                    MVT::f32, 3, 0, 1, 2,
   0,
  25,
   OPC_RecordChild2,
   OPC_SwitchType , 9, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMSUB),
                    MVT::f64, 3, 0, 1, 2,
   9, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMSUBS),
                    MVT::f32, 3, 0, 1, 2,
   0,
  34,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 10, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMADDADP),
                    22|128,1, 3, 2, 0, 1,
   10, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMADDASP),
                    4|128,1, 3, 2, 0, 1,
   0,
  43,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 22|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMSUBADP),
                    22|128,1, 3, 2, 0, 1,
   24, 4|128,1,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMSUBASP),
                     4|128,1, 3, 2, 0, 1,
    10,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNMSUBFP),
                     4|128,1, 3, 0, 1, 2,
    0,
   0,
  0,
 103|128,2, TARGET_VAL(ISD::ConstantFP),
  OPC_Scope, 20,
   OPC_CheckPredicate, 41,
   OPC_SwitchType , 6, MVT::f64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLXORdpz),
                    MVT::f64, 0,
   6, MVT::f32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLXORspz),
                    MVT::f32, 0,
   0,
  16,
   OPC_CheckPredicate, 30,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXLXORdpz),
                   MVT::f64, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNEGDP),
                   MVT::f64, 1, 0,
  49,
   OPC_RecordNode,
   OPC_CheckPredicate, 42,
   OPC_SwitchType , 20, MVT::f32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget0,
    OPC_EmitNodeXForm, 11, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTIDP),
                    MVT::v4i32, 1, 2,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 3, 4,
   20, MVT::f64,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget0,
    OPC_EmitNodeXForm, 11, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTIDP),
                    MVT::v4i32, 1, 2,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 3, 4,
   0,
  52,
   OPC_CheckPredicate, 30,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 22,
    OPC_CheckPatternPredicate, 75,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXLXORdpz),
                    MVT::f64, 0,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSNEGDP),
                    MVT::f64, 1, 0,
    OPC_EmitIntegerI32, PPC::F4RCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 1, 2,
   22,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXLXORdpz),
                    MVT::f64, 0,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSNEGDP),
                    MVT::f64, 1, 0,
    OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 1, 2,
   0,
  86|128,1,
   OPC_RecordNode,
   OPC_Scope, 119,
    OPC_CheckPredicate, 43,
    OPC_SwitchType , 35, MVT::f64,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 12, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTISW),
                     MVT::f128, 1, 2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
                     MVT::v4i32, 1, 5,
     OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 6, 7,
    76, MVT::f32,
     OPC_Scope, 36,
      OPC_CheckPatternPredicate, 75,
      OPC_EmitConvertToTarget0,
      OPC_EmitNodeXForm, 12, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTISW),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 3, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
                      MVT::v4i32, 1, 5,
      OPC_EmitIntegerI32, PPC::F4RCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f32, 2, 6, 7,
     36,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitConvertToTarget0,
      OPC_EmitNodeXForm, 12, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTISW),
                      MVT::f128, 1, 2,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 3, 4,
      OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
                      MVT::v4i32, 1, 5,
      OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f32, 2, 6, 7,
     0,
    0,
   90,
    OPC_CheckPredicate, 44,
    OPC_SwitchType , 41, MVT::f32,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNodeXForm, 13, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTI32DX),
                     MVT::v4i32, 3, 1, 2, 3,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNodeXForm, 14, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTI32DX),
                     MVT::v4i32, 3, 4, 5, 6,
     OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 7, 8,
    41, MVT::f64,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNodeXForm, 13, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTI32DX),
                     MVT::v4i32, 3, 1, 2, 3,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNodeXForm, 14, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTI32DX),
                     MVT::v4i32, 3, 4, 5, 6,
     OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 7, 8,
    0,
   0,
  0,
 111, TARGET_VAL(ISD::STRICT_FADD),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 32, MVT::f64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSADDDP),
                    MVT::f64, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FADD),
                    MVT::f64, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDADD),
                    MVT::f64, 2, 1, 2,
   0,
  33, MVT::f32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSADDSP),
                    MVT::f32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FADDS),
                    MVT::f32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSADD),
                    MVT::f32, 2, 1, 2,
   0,
  9, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSADDQP),
                   MVT::f128, 2, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVADDDP),
                   22|128,1, 2, 1, 2,
  10, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVADDSP),
                   4|128,1, 2, 1, 2,
  0,
 114, TARGET_VAL(ISD::FADD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 29, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSADDDP),
                    MVT::f64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FADD),
                    MVT::f64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDADD),
                    MVT::f64, 2, 0, 1,
   0,
  30, MVT::f32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSADDSP),
                    MVT::f32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FADDS),
                    MVT::f32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSADD),
                    MVT::f32, 2, 0, 1,
   0,
  8, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSADDQP),
                   MVT::f128, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVADDDP),
                   22|128,1, 2, 0, 1,
  22, 4|128,1,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVADDSP),
                    4|128,1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDFP),
                    4|128,1, 2, 0, 1,
   0,
  0,
 111, TARGET_VAL(ISD::STRICT_FMUL),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 32, MVT::f64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMULDP),
                    MVT::f64, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FMUL),
                    MVT::f64, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDMUL),
                    MVT::f64, 2, 1, 2,
   0,
  33, MVT::f32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMULSP),
                    MVT::f32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FMULS),
                    MVT::f32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSMUL),
                    MVT::f32, 2, 1, 2,
   0,
  9, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMULQP),
                   MVT::f128, 2, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVMULDP),
                   22|128,1, 2, 1, 2,
  10, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVMULSP),
                   4|128,1, 2, 1, 2,
  0,
 4|128,1, TARGET_VAL(ISD::FMUL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 29, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMULDP),
                    MVT::f64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMUL),
                    MVT::f64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDMUL),
                    MVT::f64, 2, 0, 1,
   0,
  30, MVT::f32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMULSP),
                    MVT::f32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMULS),
                    MVT::f32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSMUL),
                    MVT::f32, 2, 0, 1,
   0,
  8, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMULQP),
                   MVT::f128, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMULDP),
                   22|128,1, 2, 0, 1,
  40, 4|128,1,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMULSP),
                    4|128,1, 2, 0, 1,
   27,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(PPC::V_SETALLONES),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(PPC::V_SETALLONES),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(PPC::VSLW),
                    MVT::v4i32, 2, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMADDFP),
                    4|128,1, 3, 0, 1, 4,
   0,
  0,
 111, TARGET_VAL(ISD::STRICT_FSUB),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 32, MVT::f64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSSUBDP),
                    MVT::f64, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FSUB),
                    MVT::f64, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDSUB),
                    MVT::f64, 2, 1, 2,
   0,
  33, MVT::f32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSSUBSP),
                    MVT::f32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FSUBS),
                    MVT::f32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSSUB),
                    MVT::f32, 2, 1, 2,
   0,
  9, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSSUBQP),
                   MVT::f128, 2, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVSUBDP),
                   22|128,1, 2, 1, 2,
  10, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVSUBSP),
                   4|128,1, 2, 1, 2,
  0,
 114, TARGET_VAL(ISD::FSUB),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 29, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSUBDP),
                    MVT::f64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSUB),
                    MVT::f64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDSUB),
                    MVT::f64, 2, 0, 1,
   0,
  30, MVT::f32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSUBSP),
                    MVT::f32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSUBS),
                    MVT::f32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSSUB),
                    MVT::f32, 2, 0, 1,
   0,
  8, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSUBQP),
                   MVT::f128, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVSUBDP),
                   22|128,1, 2, 0, 1,
  22, 4|128,1,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVSUBSP),
                    4|128,1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBFP),
                    4|128,1, 2, 0, 1,
   0,
  0,
 111, TARGET_VAL(ISD::STRICT_FDIV),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 32, MVT::f64,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSDIVDP),
                    MVT::f64, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FDIV),
                    MVT::f64, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDDIV),
                    MVT::f64, 2, 1, 2,
   0,
  33, MVT::f32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSDIVSP),
                    MVT::f32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FDIVS),
                    MVT::f32, 2, 1, 2,
   9,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSDIV),
                    MVT::f32, 2, 1, 2,
   0,
  9, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSDIVQP),
                   MVT::f128, 2, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVDIVDP),
                   22|128,1, 2, 1, 2,
  10, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVDIVSP),
                   4|128,1, 2, 1, 2,
  0,
 101, TARGET_VAL(ISD::FDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 29, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSDIVDP),
                    MVT::f64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FDIV),
                    MVT::f64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDDIV),
                    MVT::f64, 2, 0, 1,
   0,
  30, MVT::f32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSDIVSP),
                    MVT::f32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FDIVS),
                    MVT::f32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSDIV),
                    MVT::f32, 2, 0, 1,
   0,
  8, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSDIVQP),
                   MVT::f128, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVDIVDP),
                   22|128,1, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVDIVSP),
                   4|128,1, 2, 0, 1,
  0,
 83, TARGET_VAL(ISD::STRICT_FSQRT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 20, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSSQRTDP),
                    MVT::f64, 1, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FSQRT),
                    MVT::f64, 1, 1,
   0,
  21, MVT::f32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSSQRTSP),
                    MVT::f32, 1, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FSQRTS),
                    MVT::f32, 1, 1,
   0,
  8, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSSQRTQP),
                   MVT::f128, 1, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVSQRTDP),
                   22|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVSQRTSP),
                   4|128,1, 1, 1,
  0,
 75, TARGET_VAL(ISD::FSQRT),
  OPC_RecordChild0,
  OPC_SwitchType , 18, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSQRTDP),
                    MVT::f64, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSQRT),
                    MVT::f64, 1, 0,
   0,
  19, MVT::f32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSQRTSP),
                    MVT::f32, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSQRTS),
                    MVT::f32, 1, 0,
   0,
  7, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSQRTQP),
                   MVT::f128, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVSQRTDP),
                   22|128,1, 1, 0,
  8, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVSQRTSP),
                   4|128,1, 1, 0,
  0,
 78, TARGET_VAL(PPCISD::FRE),
  OPC_RecordChild0,
  OPC_SwitchType , 18, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSREDP),
                    MVT::f64, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRE),
                    MVT::f64, 1, 0,
   0,
  19, MVT::f32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRESP),
                    MVT::f32, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRES),
                    MVT::f32, 1, 0,
   0,
  8, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVREDP),
                   22|128,1, 1, 0,
  20, 4|128,1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRESP),
                    4|128,1, 1, 0,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VREFP),
                    4|128,1, 1, 0,
   0,
  0,
 78, TARGET_VAL(PPCISD::FRSQRTE),
  OPC_RecordChild0,
  OPC_SwitchType , 18, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRSQRTEDP),
                    MVT::f64, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRSQRTE),
                    MVT::f64, 1, 0,
   0,
  19, MVT::f32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRSQRTESP),
                    MVT::f32, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRSQRTES),
                    MVT::f32, 1, 0,
   0,
  8, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSQRTEDP),
                   22|128,1, 1, 0,
  20, 4|128,1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSQRTESP),
                    4|128,1, 1, 0,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRSQRTEFP),
                    4|128,1, 1, 0,
   0,
  0,
 108, TARGET_VAL(ISD::FABS),
  OPC_RecordChild0,
  OPC_SwitchType , 26, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSABSDP),
                    MVT::f64, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FABSD),
                    MVT::f64, 1, 0,
   7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDABS),
                    MVT::f64, 1, 0,
   0,
  7, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSABSQP),
                   MVT::f128, 1, 0,
  44, MVT::f32,
   OPC_Scope, 25,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSABSDP),
                    MVT::f64, 1, 2,
    OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 3, 4,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FABSS),
                    MVT::f32, 1, 0,
   7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSABS),
                    MVT::f32, 1, 0,
   0,
  8, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVABSDP),
                   22|128,1, 1, 0,
  8, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVABSSP),
                   4|128,1, 1, 0,
  0,
 123, TARGET_VAL(ISD::FCOPYSIGN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 45,
   OPC_CheckChild1Type, MVT::f64,
   OPC_SwitchType , 20, MVT::f64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCPSGNDP),
                     MVT::f64, 2, 1, 0,
    8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCPSGND),
                     MVT::f64, 2, 1, 0,
    0,
   17, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, PPC::F4RCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCPSGNS),
                    MVT::f32, 2, 3, 0,
   0,
  12,
   OPC_CheckChild1Type, MVT::f128,
   OPC_CheckType, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCPSGNQP),
                   MVT::f128, 2, 1, 0,
  33,
   OPC_CheckChild1Type, MVT::f32,
   OPC_SwitchType , 8, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCPSGNS),
                    MVT::f32, 2, 1, 0,
   17, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, PPC::F8RCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCPSGND),
                    MVT::f64, 2, 3, 0,
   0,
  12,
   OPC_CheckType, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCPSGNDP),
                   22|128,1, 2, 1, 0,
  12,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCPSGNSP),
                   4|128,1, 2, 1, 0,
  0,
 45, TARGET_VAL(PPCISD::STRICT_FCTIDZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 19, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPSXDS),
                    MVT::f64, 1, 1,
   7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FCTIDZ),
                    MVT::f64, 1, 1,
   0,
  8, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPSXDSs),
                   MVT::f32, 1, 1,
  8, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVQPSDZ),
                   MVT::f128, 1, 1,
  0,
 40, TARGET_VAL(PPCISD::FCTIDZ),
  OPC_RecordChild0,
  OPC_SwitchType , 17, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSXDS),
                    MVT::f64, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCTIDZ),
                    MVT::f64, 1, 0,
   0,
  7, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSXDSs),
                   MVT::f32, 1, 0,
  7, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVQPSDZ),
                   MVT::f128, 1, 0,
  0,
 46, TARGET_VAL(PPCISD::STRICT_FCTIWZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 20, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPSXWS),
                    MVT::f64, 1, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FCTIWZ),
                    MVT::f64, 1, 1,
   0,
  8, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPSXWSs),
                   MVT::f32, 1, 1,
  8, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVQPSWZ),
                   MVT::f128, 1, 1,
  0,
 41, TARGET_VAL(PPCISD::FCTIWZ),
  OPC_RecordChild0,
  OPC_SwitchType , 18, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSXWS),
                    MVT::f64, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCTIWZ),
                    MVT::f64, 1, 0,
   0,
  7, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSXWSs),
                   MVT::f32, 1, 0,
  7, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVQPSWZ),
                   MVT::f128, 1, 0,
  0,
 45, TARGET_VAL(PPCISD::STRICT_FCTIDUZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 19, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPUXDS),
                    MVT::f64, 1, 1,
   7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FCTIDUZ),
                    MVT::f64, 1, 1,
   0,
  8, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPUXDSs),
                   MVT::f32, 1, 1,
  8, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVQPUDZ),
                   MVT::f128, 1, 1,
  0,
 40, TARGET_VAL(PPCISD::FCTIDUZ),
  OPC_RecordChild0,
  OPC_SwitchType , 17, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPUXDS),
                    MVT::f64, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCTIDUZ),
                    MVT::f64, 1, 0,
   0,
  7, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPUXDSs),
                   MVT::f32, 1, 0,
  7, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVQPUDZ),
                   MVT::f128, 1, 0,
  0,
 45, TARGET_VAL(PPCISD::STRICT_FCTIWUZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 19, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPUXWS),
                    MVT::f64, 1, 1,
   7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FCTIWUZ),
                    MVT::f64, 1, 1,
   0,
  8, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPUXWSs),
                   MVT::f32, 1, 1,
  8, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVQPUWZ),
                   MVT::f128, 1, 1,
  0,
 40, TARGET_VAL(PPCISD::FCTIWUZ),
  OPC_RecordChild0,
  OPC_SwitchType , 17, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPUXWS),
                    MVT::f64, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCTIWUZ),
                    MVT::f64, 1, 0,
   0,
  7, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPUXWSs),
                   MVT::f32, 1, 0,
  7, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVQPUWZ),
                   MVT::f128, 1, 0,
  0,
 29, TARGET_VAL(PPCISD::STRICT_FCFID),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckType, MVT::f64,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSCVSXDDP),
                   MVT::f64, 1, 1,
   OPC_CompleteMatch, 1, 2,

  10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(PPC::FCFID),
                   MVT::f64, 1, 1,
   OPC_CompleteMatch, 1, 2,

  0,
 29, TARGET_VAL(PPCISD::STRICT_FCFIDU),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckType, MVT::f64,
  OPC_Scope, 11,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSCVUXDDP),
                   MVT::f64, 1, 1,
   OPC_CompleteMatch, 1, 2,

  10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(PPC::FCFIDU),
                   MVT::f64, 1, 1,
   OPC_CompleteMatch, 1, 2,

  0,
 106, TARGET_VAL(ISD::STRICT_FROUND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 20, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRDPI),
                    MVT::f64, 1, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIND),
                    MVT::f64, 1, 1,
   0,
  14, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRQPI),
                   MVT::f128, 3, 2, 1, 3,
  38, MVT::f32,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPI),
                    MVT::f64, 1, 3,
    OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 4, 5,
   8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRINS),
                    MVT::f32, 1, 1,
   0,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRDPI),
                   22|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRSPI),
                   4|128,1, 1, 1,
  0,
 98, TARGET_VAL(ISD::FROUND),
  OPC_RecordChild0,
  OPC_SwitchType , 18, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRDPI),
                    MVT::f64, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIND),
                    MVT::f64, 1, 0,
   0,
  13, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRQPI),
                   MVT::f128, 3, 1, 0, 2,
  36, MVT::f32,
   OPC_Scope, 25,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPI),
                    MVT::f64, 1, 2,
    OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 3, 4,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRINS),
                    MVT::f32, 1, 0,
   0,
  8, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRDPI),
                   22|128,1, 1, 0,
  8, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSPI),
                   4|128,1, 1, 0,
  0,
 106, TARGET_VAL(ISD::STRICT_FFLOOR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 20, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRDPIM),
                    MVT::f64, 1, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIMD),
                    MVT::f64, 1, 1,
   0,
  14, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRQPI),
                   MVT::f128, 3, 2, 1, 3,
  38, MVT::f32,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPIM),
                    MVT::f64, 1, 3,
    OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 4, 5,
   8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIMS),
                    MVT::f32, 1, 1,
   0,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRDPIM),
                   22|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRSPIM),
                   4|128,1, 1, 1,
  0,
 110, TARGET_VAL(ISD::FFLOOR),
  OPC_RecordChild0,
  OPC_SwitchType , 18, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRDPIM),
                    MVT::f64, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIMD),
                    MVT::f64, 1, 0,
   0,
  13, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRQPI),
                   MVT::f128, 3, 1, 0, 2,
  36, MVT::f32,
   OPC_Scope, 25,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPIM),
                    MVT::f64, 1, 2,
    OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 3, 4,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIMS),
                    MVT::f32, 1, 0,
   0,
  8, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRDPIM),
                   22|128,1, 1, 0,
  20, 4|128,1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSPIM),
                    4|128,1, 1, 0,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIM),
                    4|128,1, 1, 0,
   0,
  0,
 106, TARGET_VAL(ISD::STRICT_FCEIL),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 20, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRDPIP),
                    MVT::f64, 1, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIPD),
                    MVT::f64, 1, 1,
   0,
  14, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 2,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRQPI),
                   MVT::f128, 3, 2, 1, 3,
  38, MVT::f32,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPIP),
                    MVT::f64, 1, 3,
    OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 4, 5,
   8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIPS),
                    MVT::f32, 1, 1,
   0,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRDPIP),
                   22|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRSPIP),
                   4|128,1, 1, 1,
  0,
 110, TARGET_VAL(ISD::FCEIL),
  OPC_RecordChild0,
  OPC_SwitchType , 18, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRDPIP),
                    MVT::f64, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIPD),
                    MVT::f64, 1, 0,
   0,
  13, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRQPI),
                   MVT::f128, 3, 1, 0, 2,
  36, MVT::f32,
   OPC_Scope, 25,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPIP),
                    MVT::f64, 1, 2,
    OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 3, 4,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIPS),
                    MVT::f32, 1, 0,
   0,
  8, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRDPIP),
                   22|128,1, 1, 0,
  20, 4|128,1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSPIP),
                    4|128,1, 1, 0,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIP),
                    4|128,1, 1, 0,
   0,
  0,
 106, TARGET_VAL(ISD::STRICT_FTRUNC),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 20, MVT::f64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRDPIZ),
                    MVT::f64, 1, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIZD),
                    MVT::f64, 1, 1,
   0,
  14, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRQPI),
                   MVT::f128, 3, 2, 1, 3,
  38, MVT::f32,
   OPC_Scope, 26,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPIZ),
                    MVT::f64, 1, 3,
    OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 4, 5,
   8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIZS),
                    MVT::f32, 1, 1,
   0,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRDPIZ),
                   22|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRSPIZ),
                   4|128,1, 1, 1,
  0,
 110, TARGET_VAL(ISD::FTRUNC),
  OPC_RecordChild0,
  OPC_SwitchType , 18, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRDPIZ),
                    MVT::f64, 1, 0,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIZD),
                    MVT::f64, 1, 0,
   0,
  13, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRQPI),
                   MVT::f128, 3, 1, 0, 2,
  36, MVT::f32,
   OPC_Scope, 25,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPIZ),
                    MVT::f64, 1, 2,
    OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 3, 4,
   7,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIZS),
                    MVT::f32, 1, 0,
   0,
  8, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRDPIZ),
                   22|128,1, 1, 0,
  20, 4|128,1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSPIZ),
                    4|128,1, 1, 0,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIZ),
                    4|128,1, 1, 0,
   0,
  0,
 70, TARGET_VAL(ISD::STRICT_FP_ROUND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 34,
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRSP),
                    MVT::f32, 1, 1,
   8,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRSP),
                    MVT::f32, 1, 1,
   8,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSCFD),
                    MVT::f32, 1, 1,
   0,
  30,
   OPC_CheckChild1Type, MVT::f128,
   OPC_SwitchType , 8, MVT::f64,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVQPDP),
                    MVT::f64, 1, 1,
   14, MVT::f32,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSCVQPDPO),
                    MVT::f64, 1, 1,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRSP),
                    MVT::f32, 1, 2,
   0,
  0,
 32, TARGET_VAL(PPCISD::STRICT_FCFIDS),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::f64,
  OPC_CheckType, MVT::f32,
  OPC_Scope, 12,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSCVSXDSP),
                   MVT::f32, 1, 1,
   OPC_CompleteMatch, 1, 2,

  10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(PPC::FCFIDS),
                   MVT::f32, 1, 1,
   OPC_CompleteMatch, 1, 2,

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

  10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(PPC::FCFIDUS),
                   MVT::f32, 1, 1,
   OPC_CompleteMatch, 1, 2,

  0,
 25, TARGET_VAL(PPCISD::MTVSRA),
  OPC_RecordChild0,
  OPC_CheckType, MVT::f64,
  OPC_Scope, 9,
   OPC_CheckChild0TypeI64,
   OPC_CheckPatternPredicate, 29,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRD),
                   MVT::f64, 1, 0,
  9,
   OPC_CheckChild0TypeI32,
   OPC_CheckPatternPredicate, 29,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRWA),
                   MVT::f64, 1, 0,
  0,
 58, TARGET_VAL(PPCISD::MTVSRZ),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate, 29,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRWZ),
                   MVT::f64, 1, 0,
  20, MVT::v8i16,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitIntegerI64, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                   MVT::f64, 1, 0,
   OPC_EmitIntegerI32, PPC::sub_64,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::v8i16, 3, 1, 2, 3,
  20, MVT::v16i8,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitIntegerI64, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                   MVT::f64, 1, 0,
   OPC_EmitIntegerI32, PPC::sub_64,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::v16i8, 3, 1, 2, 3,
  0,
 77, TARGET_VAL(ISD::STRICT_FP_EXTEND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 33, MVT::f128,
   OPC_Scope, 10,
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPQP),
                    MVT::f128, 1, 1,
   19,
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, PPC::VFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 1, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPQP),
                    MVT::f128, 1, 3,
   0,
  36, MVT::f64,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 1, 2,
   11,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, PPC::F8RCRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 1, 2,
   8,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDCFS),
                    MVT::f64, 1, 1,
   0,
  0,
 71, TARGET_VAL(ISD::FP_EXTEND),
  OPC_RecordChild0,
  OPC_SwitchType , 31, MVT::f128,
   OPC_Scope, 9,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPQP),
                    MVT::f128, 1, 0,
   18,
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckPatternPredicate7,
    OPC_EmitIntegerI32, PPC::VFRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPQP),
                    MVT::f128, 1, 2,
   0,
  33, MVT::f64,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, PPC::F8RCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f64, 2, 0, 1,
   7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDCFS),
                    MVT::f64, 1, 0,
   0,
  0,
 62, TARGET_VAL(PPCISD::XSMAXC),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMAXCDP),
                   MVT::f64, 2, 0, 1,
  9, MVT::f128,
   OPC_CheckPatternPredicate, 39,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMAXCQP),
                   MVT::f128, 2, 0, 1,
  35, MVT::f32,
   OPC_CheckPatternPredicate7,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSMAXCDP),
                   MVT::f64, 2, 3, 5,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 6, 7,
  0,
 62, TARGET_VAL(PPCISD::XSMINC),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMINCDP),
                   MVT::f64, 2, 0, 1,
  9, MVT::f128,
   OPC_CheckPatternPredicate, 39,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMINCQP),
                   MVT::f128, 2, 0, 1,
  35, MVT::f32,
   OPC_CheckPatternPredicate7,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSMINCDP),
                   MVT::f64, 2, 3, 5,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 6, 7,
  0,
 44, TARGET_VAL(PPCISD::FSQRT),
  OPC_RecordChild0,
  OPC_SwitchType , 17, MVT::f64,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSQRTDP),
                    MVT::f64, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSQRT),
                    MVT::f64, 1, 0,
   0,
  8, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVSQRTDP),
                   22|128,1, 1, 0,
  8, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVSQRTSP),
                   4|128,1, 1, 0,
  0,
 75, TARGET_VAL(ISD::FMINNUM_IEEE),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMINDP),
                   MVT::f64, 2, 0, 1,
  35, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSMINDP),
                   MVT::f64, 2, 3, 5,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 6, 7,
  9, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMINSP),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMINDP),
                   22|128,1, 2, 0, 1,
  0,
 75, TARGET_VAL(ISD::FMAXNUM_IEEE),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMAXDP),
                   MVT::f64, 2, 0, 1,
  35, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSMAXDP),
                   MVT::f64, 2, 3, 5,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 6, 7,
  9, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMAXSP),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMAXDP),
                   22|128,1, 2, 0, 1,
  0,
 75, TARGET_VAL(ISD::FMINNUM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMINDP),
                   MVT::f64, 2, 0, 1,
  35, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSMINDP),
                   MVT::f64, 2, 3, 5,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 6, 7,
  9, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMINSP),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMINDP),
                   22|128,1, 2, 0, 1,
  0,
 75, TARGET_VAL(ISD::FMAXNUM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMAXDP),
                   MVT::f64, 2, 0, 1,
  35, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSMAXDP),
                   MVT::f64, 2, 3, 5,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 6, 7,
  9, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMAXSP),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMAXDP),
                   22|128,1, 2, 0, 1,
  0,
 74, TARGET_VAL(ISD::FCANONICALIZE),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMAXDP),
                   MVT::f64, 2, 0, 0,
  35, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 0, 1,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 0, 3,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSMAXDP),
                   MVT::f64, 2, 2, 4,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 5, 6,
  9, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMAXSP),
                   4|128,1, 2, 0, 0,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMAXDP),
                   22|128,1, 2, 0, 0,
  0,
 82, TARGET_VAL(ISD::STRICT_FRINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRDPIC),
                   MVT::f64, 1, 1,
  14, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRQPIX),
                   MVT::f128, 3, 2, 1, 3,
  26, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPIC),
                   MVT::f64, 1, 3,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 4, 5,
  9, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRSPIC),
                   4|128,1, 1, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRDPIC),
                   22|128,1, 1, 1,
  0,
 76, TARGET_VAL(ISD::FRINT),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::f64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRDPIC),
                   MVT::f64, 1, 0,
  13, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRQPIX),
                   MVT::f128, 3, 1, 0, 2,
  25, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 0, 1,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPIC),
                   MVT::f64, 1, 2,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 3, 4,
  8, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSPIC),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRDPIC),
                   22|128,1, 1, 0,
  0,
 82, TARGET_VAL(ISD::STRICT_FNEARBYINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRDPIC),
                   MVT::f64, 1, 1,
  14, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRQPI),
                   MVT::f128, 3, 2, 1, 3,
  26, MVT::f32,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f64, 2, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPIC),
                   MVT::f64, 1, 3,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 4, 5,
  9, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRDPIC),
                   22|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRSPIC),
                   4|128,1, 1, 1,
  0,
 29, TARGET_VAL(ISD::FNEARBYINT),
  OPC_RecordChild0,
  OPC_SwitchType , 13, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRQPI),
                   MVT::f128, 3, 1, 0, 2,
  8, 4|128,1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIN),
                   4|128,1, 1, 0,
  0,
 64, TARGET_VAL(ISD::FP16_TO_FP),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_SwitchType , 13, MVT::f64,
   OPC_CheckPatternPredicate7,
   OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                   MVT::f64, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVHPDP),
                   MVT::f64, 1, 1,
  19, MVT::f128,
   OPC_CheckPatternPredicate7,
   OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                   MVT::f64, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSCVHPDP),
                   MVT::f64, 1, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPQP),
                   MVT::f128, 1, 2,
  22, MVT::f32,
   OPC_CheckPatternPredicate7,
   OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                   MVT::f64, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(PPC::XSCVHPDP),
                   MVT::f64, 1, 1,
   OPC_EmitIntegerI32, PPC::VSSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 2, 3,
  0,
 45, TARGET_VAL(PPCISD::BUILD_FP128),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI64,
  OPC_RecordChild1,
  OPC_CheckType, MVT::f128,
  OPC_Scope, 18,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRDD),
                   MVT::v4i32, 2, 0, 1,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f128, 2, 2, 3,
  18,
   OPC_CheckPatternPredicate, 58,
   OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRDD),
                   MVT::v4i32, 2, 1, 0,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f128, 2, 2, 3,
  0,
 8, TARGET_VAL(PPCISD::MFFS),
  OPC_RecordNode,
  OPC_CheckPatternPredicate1,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFFS),
                  MVT::f64, 0,
 27, TARGET_VAL(PPCISD::FSEL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 9, MVT::f64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSELD),
                   MVT::f64, 3, 0, 1, 2,
  9, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSELS),
                   MVT::f32, 3, 0, 1, 2,
  0,
 20, TARGET_VAL(PPCISD::BUILD_SPE64),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_CheckPatternPredicate5,
  OPC_EmitNode1None, TARGET_VAL(PPC::EVMERGELO),
                  MVT::f64, 2, 1, 0,
  OPC_EmitIntegerI32, PPC::SPERCRegClassID,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                  MVT::f64, 2, 2, 3,
 12, TARGET_VAL(PPCISD::FADDRTZ),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckType, MVT::f64,
  OPC_CheckPatternPredicate1,
  OPC_MorphNodeTo1None, TARGET_VAL(PPC::FADDrtz),
                  MVT::f64, 2, 0, 1,
 17, TARGET_VAL(PPCISD::STRICT_FADDRTZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckType, MVT::f64,
  OPC_CheckPatternPredicate1,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitNode1None, TARGET_VAL(PPC::FADDrtz),
                  MVT::f64, 2, 1, 2,
  OPC_CompleteMatch, 1, 3,

 29|128,53, TARGET_VAL(ISD::BUILD_VECTOR),
  OPC_Scope, 79,
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 45,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckChild1Same, 0,
   OPC_CheckChild2Same, 0,
   OPC_CheckChild3Same, 0,
   OPC_MoveChild4,
   OPC_CheckSame, 0,
   OPC_MoveSibling5,
   OPC_CheckSame, 0,
   OPC_MoveSibling6,
   OPC_CheckSame, 0,
   OPC_MoveSibling7,
   OPC_CheckSame, 0,
   OPC_MoveSibling, 8,
   OPC_CheckSame, 0,
   OPC_MoveSibling, 9,
   OPC_CheckSame, 0,
   OPC_MoveSibling, 10,
   OPC_CheckSame, 0,
   OPC_MoveSibling, 11,
   OPC_CheckSame, 0,
   OPC_MoveSibling, 12,
   OPC_CheckSame, 0,
   OPC_MoveSibling, 13,
   OPC_CheckSame, 0,
   OPC_MoveSibling, 14,
   OPC_CheckSame, 0,
   OPC_MoveSibling, 15,
   OPC_CheckSame, 0,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate7,
   OPC_EmitConvertToTarget0,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTIB),
                   MVT::v4i32, 1, 1,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v16i8, 2, 2, 3,
  125|128,12,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 55|128,8, TARGET_VAL(PPCISD::MFVSR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 90|128,3, TARGET_VAL(PPCISD::FCTIWZ),
     OPC_Scope, 39|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_CheckTypeI32,
      OPC_MoveSibling1,
      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, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      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_CheckTypeI32,
      OPC_MoveSibling3,
      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, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 43,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       22|128,1, 3, 0, 1, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
                       MVT::v4i32, 1, 3,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       22|128,1, 3, 0, 1, 5,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
                       MVT::v4i32, 1, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                       MVT::v4i32, 2, 4, 7,
      43,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       22|128,1, 3, 1, 0, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
                       MVT::v4i32, 1, 3,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       22|128,1, 3, 1, 0, 5,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
                       MVT::v4i32, 1, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                       MVT::v4i32, 2, 4, 7,
      0,
     45|128,2,
      OPC_RecordChild0,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
      OPC_CheckType, MVT::f64,
      OPC_Scope, 63,
       OPC_CheckChild0Same, 0,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
       OPC_CheckChild0Same, 0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling3,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
       OPC_CheckChild0Same, 0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
                       MVT::f64, 1, 0,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 1, 2, 3,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 4, 5,
      90|128,1,
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
       OPC_RecordChild0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling3,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
       OPC_RecordChild0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 91,
        OPC_CheckPatternPredicate, 19,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 4, 0, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 7, 2, 8,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        22|128,1, 3, 6, 9, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
                        MVT::v4i32, 1, 11,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 13, 1, 14,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 16, 3, 17,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        22|128,1, 3, 15, 18, 19,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
                        MVT::v4i32, 1, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        MVT::v4i32, 2, 12, 21,
       91,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 4, 3, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 7, 1, 8,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        22|128,1, 3, 6, 9, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
                        MVT::v4i32, 1, 11,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 13, 2, 14,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 16, 0, 17,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        22|128,1, 3, 15, 18, 19,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
                        MVT::v4i32, 1, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        MVT::v4i32, 2, 12, 21,
       0,
      0,
     0,
    90|128,3, TARGET_VAL(PPCISD::FCTIWUZ),
     OPC_Scope, 39|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_CheckTypeI32,
      OPC_MoveSibling1,
      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, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      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_CheckTypeI32,
      OPC_MoveSibling3,
      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, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 43,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       22|128,1, 3, 0, 1, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
                       MVT::v4i32, 1, 3,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       22|128,1, 3, 0, 1, 5,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
                       MVT::v4i32, 1, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                       MVT::v4i32, 2, 4, 7,
      43,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       22|128,1, 3, 1, 0, 2,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
                       MVT::v4i32, 1, 3,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       22|128,1, 3, 1, 0, 5,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
                       MVT::v4i32, 1, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                       MVT::v4i32, 2, 4, 7,
      0,
     45|128,2,
      OPC_RecordChild0,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
      OPC_CheckType, MVT::f64,
      OPC_Scope, 63,
       OPC_CheckChild0Same, 0,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
       OPC_CheckChild0Same, 0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling3,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
       OPC_CheckChild0Same, 0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
                       MVT::f64, 1, 0,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 1, 2, 3,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
                       MVT::v4i32, 2, 4, 5,
      90|128,1,
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
       OPC_RecordChild0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling3,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
       OPC_RecordChild0,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 91,
        OPC_CheckPatternPredicate, 19,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 4, 0, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 7, 2, 8,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        22|128,1, 3, 6, 9, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
                        MVT::v4i32, 1, 11,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 13, 1, 14,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 16, 3, 17,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        22|128,1, 3, 15, 18, 19,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
                        MVT::v4i32, 1, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        MVT::v4i32, 2, 12, 21,
       91,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 4, 3, 5,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 7, 1, 8,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        22|128,1, 3, 6, 9, 10,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
                        MVT::v4i32, 1, 11,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 13, 2, 14,
        OPC_EmitIntegerI64, 1,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 16, 0, 17,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        22|128,1, 3, 15, 18, 19,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
                        MVT::v4i32, 1, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        MVT::v4i32, 2, 12, 21,
       0,
      0,
     0,
    57, TARGET_VAL(PPCISD::FCTIDZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveSibling1,
     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_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXDSs),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 1, 2,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDIs),
                     MVT::v2i64, 2, 3, 4,
    57, TARGET_VAL(PPCISD::FCTIDUZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveSibling1,
     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_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXDSs),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 1, 2,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDIs),
                     MVT::v2i64, 2, 3, 4,
    0,
   112|128,3, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 39|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_Scope, 16|128,1,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_Scope, 69,
       OPC_CheckChild1Integer, 1,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 5,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling3,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2W),
                       MVT::v4i32, 1, 0,
      69,
       OPC_CheckChild1Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 2,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       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_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling3,
       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_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2W),
                       MVT::v4i32, 1, 0,
      0,
     16|128,1,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_Scope, 69,
       OPC_CheckChild1Integer, 3,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 7,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 11,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling3,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 0,
       OPC_CheckChild1Integer, 15,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2W),
                       MVT::v4i32, 1, 0,
      69,
       OPC_CheckChild1Integer, 0,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling1,
       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_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       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_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling3,
       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_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2W),
                       MVT::v4i32, 1, 0,
      0,
     0,
    62|128,1, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckTypeI32,
     OPC_Scope, 90,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_Scope, 42,
       OPC_CheckChild1Integer, 3,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveSibling1,
       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, 7,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::v2i64, 1, 0,
      42,
       OPC_CheckChild1Integer, 0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveSibling1,
       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, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2D),
                       MVT::v2i64, 1, 0,
      0,
     90,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_Scope, 42,
       OPC_CheckChild1Integer, 7,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveSibling1,
       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, 15,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 15,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::v2i64, 1, 0,
      42,
       OPC_CheckChild1Integer, 0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveSibling1,
       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_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2D),
                       MVT::v2i64, 1, 0,
      0,
     0,
    0,
   72, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckTypeI32,
    OPC_Scope, 30,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSW2D),
                     MVT::v2i64, 1, 0,
    30,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 2,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSW2D),
                     MVT::v2i64, 1, 0,
    0,
   0,
  49,
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_Scope, 20,
    OPC_CheckPredicate, 46,
    OPC_MoveParent,
    OPC_CheckChild1Same, 0,
    OPC_CheckChild2Same, 0,
    OPC_CheckChild3Same, 0,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTISW),
                    MVT::v4i32, 1, 1,
   19,
    OPC_CheckPredicate, 47,
    OPC_MoveParent,
    OPC_CheckChild1Same, 0,
    OPC_CheckChild2Same, 0,
    OPC_CheckChild3Same, 0,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTIW),
                    MVT::v4i32, 1, 1,
   0,
  23|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 69, TARGET_VAL(PPCISD::FCTIDZ),
    OPC_RecordChild0,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIDZ),
    OPC_CheckChild0Same, 0,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXDS),
                    MVT::f64, 1, 0,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v4i32, 3, 1, 2, 3,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXDS),
                    MVT::f64, 1, 0,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v4i32, 3, 5, 6, 7,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                    MVT::v2i64, 3, 4, 8, 9,
   69, TARGET_VAL(PPCISD::FCTIDUZ),
    OPC_RecordChild0,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIDUZ),
    OPC_CheckChild0Same, 0,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXDS),
                    MVT::f64, 1, 0,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v4i32, 3, 1, 2, 3,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXDS),
                    MVT::f64, 1, 0,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v4i32, 3, 5, 6, 7,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                    MVT::v2i64, 3, 4, 8, 9,
   0,
  19,
   OPC_CheckImmAllZerosV,
   OPC_SwitchType , 6, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLXORz),
                    MVT::v4i32, 0,
   6, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLXORz),
                    MVT::v2i64, 0,
   0,
  46,
   OPC_RecordChild0,
   OPC_SwitchType , 14, MVT::v4i32,
    OPC_CheckChild0TypeI32,
    OPC_CheckChild1Same, 0,
    OPC_CheckChild2Same, 0,
    OPC_CheckChild3Same, 0,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRWS),
                    MVT::v4i32, 1, 0,
   25, MVT::v2i64,
    OPC_CheckChild0TypeI64,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 57,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRDD),
                     MVT::v2i64, 2, 0, 1,
    9,
     OPC_CheckPatternPredicate, 58,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRDD),
                     MVT::v2i64, 2, 1, 0,
    0,
   0,
  19,
   OPC_CheckImmAllOnesV,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXLEQVOnes),
                   MVT::v4i32, 0,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v16i8, 2, 0, 1,
  17|128,5,
   OPC_RecordChild0,
   OPC_SwitchType , 34|128,4, MVT::v4i32,
    OPC_CheckChild0TypeI32,
    OPC_Scope, 68,
     OPC_CheckChild1Same, 0,
     OPC_CheckChild2Same, 0,
     OPC_CheckChild3Same, 0,
     OPC_Scope, 29,
      OPC_CheckPatternPredicate, 66,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                      MVT::f64, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 1, 2, 3,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
                      MVT::v4i32, 2, 4, 5,
     29,
      OPC_CheckPatternPredicate, 67,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                      MVT::f64, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 1, 2, 3,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
                      MVT::v4i32, 2, 4, 5,
     0,
    88|128,3,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_Scope, 95,
      OPC_CheckPatternPredicate, 57,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 1, 5,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 7, 0, 8,
      OPC_EmitIntegerI32, 32,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
                      MVT::i64, 4, 6, 9, 10, 11,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 13, 3, 14,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 16, 2, 17,
      OPC_EmitIntegerI32, 32,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
                      MVT::i64, 4, 15, 18, 19, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRDD),
                      MVT::v4i32, 2, 12, 21,
     95,
      OPC_CheckPatternPredicate, 58,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 2, 5,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 7, 3, 8,
      OPC_EmitIntegerI32, 32,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
                      MVT::i64, 4, 6, 9, 10, 11,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 13, 0, 14,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 16, 1, 17,
      OPC_EmitIntegerI32, 32,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
                      MVT::i64, 4, 15, 18, 19, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRDD),
                      MVT::v4i32, 2, 12, 21,
     6|128,1,
      OPC_CheckPatternPredicate, 66,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 5, 1, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 8, 0, 9,
      OPC_EmitIntegerI32, 32,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
                      MVT::i64, 4, 7, 10, 11, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 13,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 4, 14, 15,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 18, 3, 19,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 21, 2, 22,
      OPC_EmitIntegerI32, 32,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
                      MVT::i64, 4, 20, 23, 24, 25,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 26,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 17, 27, 28,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 16, 29, 30,
     6|128,1,
      OPC_CheckPatternPredicate, 67,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 5, 2, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 8, 3, 9,
      OPC_EmitIntegerI32, 32,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
                      MVT::i64, 4, 7, 10, 11, 12,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 13,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 4, 14, 15,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 18, 0, 19,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 21, 1, 22,
      OPC_EmitIntegerI32, 32,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
                      MVT::i64, 4, 20, 23, 24, 25,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 26,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 17, 27, 28,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 16, 29, 30,
     0,
    0,
   103, MVT::v2i64,
    OPC_CheckChild0TypeI64,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_Scope, 48,
     OPC_CheckPatternPredicate, 66,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                     MVT::f64, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 6, 7, 8,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v2i64, 3, 5, 9, 10,
    48,
     OPC_CheckPatternPredicate, 67,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                     MVT::f64, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 6, 7, 8,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v2i64, 3, 5, 9, 10,
    0,
   0,
  45,
   OPC_RecordNode,
   OPC_SwitchType , 12, MVT::v16i8,
    OPC_CheckPredicate, 48,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 15, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTISB),
                    MVT::v16i8, 1, 1,
   12, MVT::v8i16,
    OPC_CheckPredicate, 49,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 16, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTISH),
                    MVT::v8i16, 1, 1,
   12, MVT::v4i32,
    OPC_CheckPredicate, 50,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 17, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTISW),
                    MVT::v4i32, 1, 1,
   0,
  36,
   OPC_CheckImmAllZerosV,
   OPC_SwitchType , 6, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::V_SET0B),
                    MVT::v16i8, 0,
   6, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::V_SET0H),
                    MVT::v8i16, 0,
   6, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::V_SET0),
                    MVT::v4i32, 0,
   7, MVT::v512i1,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXXSETACCZ),
                    MVT::v512i1, 0,
   0,
  27,
   OPC_CheckImmAllOnesV,
   OPC_SwitchType , 6, MVT::v16i8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::V_SETALLONESB),
                    MVT::v16i8, 0,
   6, MVT::v8i16,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::V_SETALLONESH),
                    MVT::v8i16, 0,
   6, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::V_SETALLONES),
                    MVT::v4i32, 0,
   0,
  103|128,28,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 78|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_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveSibling1,
    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, 1,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveSibling2,
    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_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveSibling3,
    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, 1,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_Scope, 54,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
                     MVT::v4i32, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
                     MVT::v4i32, 1, 0,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
                     MVT::v4i32, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
                     MVT::v4i32, 1, 1,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 6, 7, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
                     4|128,1, 2, 5, 9,
    54,
     OPC_CheckPatternPredicate, 24,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
                     MVT::v4i32, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
                     MVT::v4i32, 1, 1,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
                     MVT::v4i32, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
                     MVT::v4i32, 1, 0,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 6, 7, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
                     4|128,1, 2, 5, 9,
    0,
   78|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_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveSibling1,
    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, 1,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveSibling2,
    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_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveSibling3,
    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, 1,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_Scope, 54,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
                     MVT::v4i32, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
                     MVT::v4i32, 1, 0,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
                     MVT::v4i32, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
                     MVT::v4i32, 1, 1,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 6, 7, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
                     4|128,1, 2, 5, 9,
    54,
     OPC_CheckPatternPredicate, 24,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
                     MVT::v4i32, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
                     MVT::v4i32, 1, 1,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
                     MVT::v4i32, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
                     MVT::v4i32, 1, 0,
     OPC_EmitIntegerI32, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v4i32, 3, 6, 7, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
                     4|128,1, 2, 5, 9,
    0,
   32|128,2, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 11,
    OPC_CheckPredicate5,
    OPC_CheckType, MVT::f32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 11,
    OPC_CheckPredicate5,
    OPC_CheckType, MVT::f32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 11,
    OPC_CheckPredicate5,
    OPC_CheckType, MVT::f32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 11,
    OPC_CheckPredicate5,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_Scope, 118,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_CheckComplexPat0, /*#*/5,
     OPC_CheckComplexPat0, /*#*/7,
     OPC_EmitMergeInputChains, 4, 0, 2, 4, 6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
                     MVT::f64, 2, 8, 9,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 16, 17, 18,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
                     MVT::f64, 2, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 20, 21, 22,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                     MVT::v4i32, 2, 19, 23,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
                     MVT::f64, 2, 12, 13,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 25, 26, 27,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
                     MVT::f64, 2, 14, 15,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 29, 30, 31,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                     MVT::v4i32, 2, 28, 32,
     OPC_EmitIntegerI32, 3,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0|OPFL_MemRefs,
                     4|128,1, 3, 24, 33, 34,
    118,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_CheckComplexPat0, /*#*/5,
     OPC_CheckComplexPat0, /*#*/7,
     OPC_EmitMergeInputChains, 4, 0, 2, 4, 6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
                     MVT::f64, 2, 14, 15,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 16, 17, 18,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
                     MVT::f64, 2, 12, 13,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 20, 21, 22,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                     MVT::v4i32, 2, 19, 23,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
                     MVT::f64, 2, 10, 11,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 25, 26, 27,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
                     MVT::f64, 2, 8, 9,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 29, 30, 31,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                     MVT::v4i32, 2, 28, 32,
     OPC_EmitIntegerI32, 3,
     OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0|OPFL_MemRefs,
                     4|128,1, 3, 24, 33, 34,
    0,
   115|128,7, 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_MoveSibling1,
    OPC_SwitchOpcode , 118|128,3, TARGET_VAL(ISD::STRICT_FP_ROUND),
     OPC_RecordNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_SwitchOpcode , 115|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_MoveSibling3,
      OPC_SwitchOpcode , 114, TARGET_VAL(ISD::STRICT_FP_ROUND),
       OPC_RecordNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 4,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_Scope, 48,
        OPC_CheckPatternPredicate, 19,
        OPC_EmitMergeInputChains, 4, 0, 2, 3, 5,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 4, 6,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 7,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 4, 9,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 8, 11,
       48,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitMergeInputChains, 4, 0, 2, 3, 5,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 4, 1, 6,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 7,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 4, 1, 9,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 8, 11,
       0,
      111, TARGET_VAL(ISD::FP_ROUND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 4,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_Scope, 47,
        OPC_CheckPatternPredicate, 19,
        OPC_EmitMergeInputChains, 3, 0, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 4, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 6,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 4, 8,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 7, 10,
       47,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitMergeInputChains, 3, 0, 2, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 4, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 6,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 4, 1, 8,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 7, 10,
       0,
      0,
     110|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_MoveSibling3,
      OPC_SwitchOpcode , 112, TARGET_VAL(ISD::STRICT_FP_ROUND),
       OPC_RecordNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_Scope, 47,
        OPC_CheckPatternPredicate, 19,
        OPC_EmitMergeInputChains, 3, 0, 2, 4,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 3, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 6,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 3, 8,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 7, 10,
       47,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitMergeInputChains, 3, 0, 2, 4,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 3, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 6,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 3, 1, 8,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 7, 10,
       0,
      109, TARGET_VAL(ISD::FP_ROUND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_Scope, 46,
        OPC_CheckPatternPredicate, 19,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 3, 4,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 5,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 3, 7,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 6, 9,
       46,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 3, 1, 4,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 5,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 3, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 6, 9,
       0,
      0,
     0,
    105|128,3, TARGET_VAL(ISD::FP_ROUND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_SwitchOpcode , 111|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_MoveSibling3,
      OPC_SwitchOpcode , 112, TARGET_VAL(ISD::STRICT_FP_ROUND),
       OPC_RecordNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_Scope, 47,
        OPC_CheckPatternPredicate, 19,
        OPC_EmitMergeInputChains, 3, 0, 2, 4,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 3, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 6,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 3, 8,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 7, 10,
       47,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitMergeInputChains, 3, 0, 2, 4,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 3, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 6,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 3, 1, 8,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 7, 10,
       0,
      109, TARGET_VAL(ISD::FP_ROUND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_Scope, 46,
        OPC_CheckPatternPredicate, 19,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 3, 4,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 5,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 3, 7,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 6, 9,
       46,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 3, 1, 4,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 5,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 3, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 6, 9,
       0,
      0,
     102|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_MoveSibling3,
      OPC_SwitchOpcode , 110, TARGET_VAL(ISD::STRICT_FP_ROUND),
       OPC_RecordNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_Scope, 46,
        OPC_CheckPatternPredicate, 19,
        OPC_EmitMergeInputChains, 2, 0, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 2, 4,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 5,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 2, 7,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 6, 9,
       46,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitMergeInputChains, 2, 0, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 2, 1, 4,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 5,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 2, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 6, 9,
       0,
      103, TARGET_VAL(ISD::FP_ROUND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_Scope, 43,
        OPC_CheckPatternPredicate, 19,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 2, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 4,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 1, 2, 6,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 5, 8,
       43,
        OPC_CheckPatternPredicate, 13,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 2, 1, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 4,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                        MVT::v4i32, 3, 2, 1, 6,
        OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                        MVT::v4i32, 1, 7,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                        4|128,1, 2, 5, 8,
       0,
      0,
     0,
    0,
   25|128,8, TARGET_VAL(ISD::FP_ROUND),
    OPC_Scope, 86|128,7,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 106|128,3, TARGET_VAL(ISD::STRICT_FP_ROUND),
      OPC_RecordNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 0,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 111|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_MoveSibling3,
       OPC_SwitchOpcode , 112, TARGET_VAL(ISD::STRICT_FP_ROUND),
        OPC_RecordNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 4|128,1,
        OPC_Scope, 47,
         OPC_CheckPatternPredicate, 19,
         OPC_EmitMergeInputChains, 3, 1, 2, 4,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 3, 5,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 6,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 3, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 7, 10,
        47,
         OPC_CheckPatternPredicate, 13,
         OPC_EmitMergeInputChains, 3, 1, 2, 4,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 3, 0, 5,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 6,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 3, 0, 8,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 7, 10,
        0,
       109, TARGET_VAL(ISD::FP_ROUND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 4|128,1,
        OPC_Scope, 46,
         OPC_CheckPatternPredicate, 19,
         OPC_EmitMergeInputChains, 2, 1, 2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 3, 4,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 5,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 3, 7,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 6, 9,
        46,
         OPC_CheckPatternPredicate, 13,
         OPC_EmitMergeInputChains, 2, 1, 2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 5,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 3, 0, 7,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 6, 9,
        0,
       0,
      102|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_MoveSibling3,
       OPC_SwitchOpcode , 110, TARGET_VAL(ISD::STRICT_FP_ROUND),
        OPC_RecordNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 4|128,1,
        OPC_Scope, 46,
         OPC_CheckPatternPredicate, 19,
         OPC_EmitMergeInputChains, 2, 1, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 2, 4,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 5,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 6, 9,
        46,
         OPC_CheckPatternPredicate, 13,
         OPC_EmitMergeInputChains, 2, 1, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 2, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 5,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 2, 0, 7,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 6, 9,
        0,
       103, TARGET_VAL(ISD::FP_ROUND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 4|128,1,
        OPC_Scope, 43,
         OPC_CheckPatternPredicate, 19,
         OPC_EmitMergeInputChains1_1,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 2, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 4,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 2, 6,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 5, 8,
        43,
         OPC_CheckPatternPredicate, 13,
         OPC_EmitMergeInputChains1_1,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 2, 0, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 4,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 2, 0, 6,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 5, 8,
        0,
       0,
      0,
     89|128,3, TARGET_VAL(ISD::FP_ROUND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_CheckChild0Same, 0,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 103|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_MoveSibling3,
       OPC_SwitchOpcode , 110, TARGET_VAL(ISD::STRICT_FP_ROUND),
        OPC_RecordNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 4|128,1,
        OPC_Scope, 46,
         OPC_CheckPatternPredicate, 19,
         OPC_EmitMergeInputChains, 2, 1, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 2, 4,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 5,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 6, 9,
        46,
         OPC_CheckPatternPredicate, 13,
         OPC_EmitMergeInputChains, 2, 1, 3,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 2, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 5,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 2, 0, 7,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 8,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 6, 9,
        0,
       103, TARGET_VAL(ISD::FP_ROUND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 4|128,1,
        OPC_Scope, 43,
         OPC_CheckPatternPredicate, 19,
         OPC_EmitMergeInputChains1_1,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 2, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 4,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 2, 6,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 5, 8,
        43,
         OPC_CheckPatternPredicate, 13,
         OPC_EmitMergeInputChains1_1,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 2, 0, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 4,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 2, 0, 6,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 5, 8,
        0,
       0,
      94|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_MoveSibling3,
       OPC_SwitchOpcode , 104, TARGET_VAL(ISD::STRICT_FP_ROUND),
        OPC_RecordNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 4|128,1,
        OPC_Scope, 43,
         OPC_CheckPatternPredicate, 19,
         OPC_EmitMergeInputChains1_2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 1, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 4,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 1, 6,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 5, 8,
        43,
         OPC_CheckPatternPredicate, 13,
         OPC_EmitMergeInputChains1_2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 1, 0, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 4,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 1, 0, 6,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 7,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 5, 8,
        0,
       101, TARGET_VAL(ISD::FP_ROUND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 4|128,1,
        OPC_Scope, 42,
         OPC_CheckPatternPredicate, 19,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 1, 2,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 3,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 0, 1, 5,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 6,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 4, 7,
        42,
         OPC_CheckPatternPredicate, 13,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 1, 0, 2,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 3,
         OPC_EmitIntegerI32, 3,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                         MVT::v4i32, 3, 1, 0, 5,
         OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                         MVT::v4i32, 1, 6,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                         4|128,1, 2, 4, 7,
        0,
       0,
      0,
     0,
    62,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::f64,
     OPC_CheckType, MVT::f32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
     OPC_CheckChild0Same, 0,
     OPC_CheckType, MVT::f32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
     OPC_CheckChild0Same, 0,
     OPC_CheckType, MVT::f32,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
     OPC_CheckChild0Same, 0,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
                     MVT::f64, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 1, 2, 3,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
                     4|128,1, 2, 4, 5,
    0,
   12|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_CheckTypeI32,
    OPC_Scope, 63,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveSibling1,
     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, 2,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 19,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
                      22|128,1, 1, 0,
     19,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                      MVT::v4i32, 3, 0, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
                      22|128,1, 1, 2,
     0,
    63,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveSibling1,
     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, 3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
                      22|128,1, 1, 0,
     19,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                      MVT::v4i32, 3, 0, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
                      22|128,1, 1, 2,
     0,
    0,
   12|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_CheckTypeI32,
    OPC_Scope, 63,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveSibling1,
     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, 2,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 19,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
                      22|128,1, 1, 0,
     19,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                      MVT::v4i32, 3, 0, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
                      22|128,1, 1, 2,
     0,
    63,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveSibling1,
     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, 3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
                      22|128,1, 1, 0,
     19,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                      MVT::v4i32, 3, 0, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
                      22|128,1, 1, 2,
     0,
    0,
   100|128,4, TARGET_VAL(ISD::FP_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 77|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_Scope, 49,
      OPC_CheckChild0Same, 0,
      OPC_Scope, 18,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, 22|128,1,
       OPC_CheckPatternPredicate, 19,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                       22|128,1, 1, 0,
      25,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, 22|128,1,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                       MVT::v4i32, 2, 0, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                       22|128,1, 1, 1,
      0,
     29,
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 0, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                      22|128,1, 1, 3,
     59,
      OPC_CheckChild0Same, 0,
      OPC_Scope, 25,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, 22|128,1,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
                       MVT::v4i32, 2, 0, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                       22|128,1, 1, 1,
      28,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckType, 22|128,1,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                       MVT::v4i32, 3, 0, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                       22|128,1, 1, 2,
      0,
     49,
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 0, 2,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 1, 0, 4,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                      MVT::v4i32, 3, 3, 5, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                      22|128,1, 1, 7,
     0,
    23|128,1,
     OPC_CheckChild1Integer, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_Scope, 41,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, 22|128,1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 13,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                       22|128,1, 1, 0,
      19,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                       MVT::v4i32, 3, 0, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                       22|128,1, 1, 2,
      0,
     91,
      OPC_CheckChild1Integer, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, 22|128,1,
      OPC_Scope, 39,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                       MVT::v4i32, 2, 0, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
                       MVT::v4i32, 1, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                       MVT::v4i32, 2, 0, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
                       MVT::v4i32, 1, 3,
       OPC_EmitIntegerI32, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                       22|128,1, 3, 2, 4, 5,
      39,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
                       MVT::v4i32, 2, 0, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
                       MVT::v4i32, 1, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
                       MVT::v4i32, 2, 0, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
                       MVT::v4i32, 1, 3,
       OPC_EmitIntegerI32, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                       22|128,1, 3, 2, 4, 5,
      0,
     0,
    60,
     OPC_CheckChild1Integer, 2,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 3,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
                      MVT::v4i32, 2, 0, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                      22|128,1, 1, 1,
     16,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                      MVT::v4i32, 2, 0, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                      22|128,1, 1, 1,
     0,
    54|128,1,
     OPC_CheckChild1Integer, 3,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_Scope, 72,
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 3,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, 22|128,1,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       MVT::v4i32, 3, 1, 0, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                       22|128,1, 1, 3,
      39,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       MVT::v4i32, 3, 0, 1, 2,
       OPC_EmitIntegerI32, 3,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                       MVT::v4i32, 3, 0, 1, 4,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                       MVT::v4i32, 3, 3, 5, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                       22|128,1, 1, 7,
      0,
     93,
      OPC_CheckChild0Same, 0,
      OPC_CheckChild1Integer, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, 22|128,1,
      OPC_Scope, 39,
       OPC_CheckPatternPredicate, 19,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
                       MVT::v4i32, 2, 0, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
                       MVT::v4i32, 1, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
                       MVT::v4i32, 2, 0, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
                       MVT::v4i32, 1, 3,
       OPC_EmitIntegerI32, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                       22|128,1, 3, 2, 4, 5,
      39,
       OPC_CheckPatternPredicate, 13,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                       MVT::v4i32, 2, 0, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
                       MVT::v4i32, 1, 1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                       MVT::v4i32, 2, 0, 0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
                       MVT::v4i32, 1, 3,
       OPC_EmitIntegerI32, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                       22|128,1, 3, 2, 4, 5,
      0,
     0,
    0,
   0,
  61|128,2,
   OPC_RecordChild0,
   OPC_SwitchType , 96|128,1, 4|128,1,
    OPC_CheckChild0Type, MVT::f32,
    OPC_Scope, 24,
     OPC_CheckChild1Same, 0,
     OPC_CheckChild2Same, 0,
     OPC_CheckChild3Same, 0,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                     4|128,1, 1, 0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
                     4|128,1, 2, 1, 2,
    65|128,1,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::f32,
     OPC_Scope, 90,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 4, 0, 5,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 7, 2, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 6, 9, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                      MVT::v4i32, 1, 11,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 13, 1, 14,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 16, 3, 17,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 15, 18, 19,
      OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                      MVT::v4i32, 1, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                      4|128,1, 2, 12, 21,
     90,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 4, 3, 5,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 7, 1, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 6, 9, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                      MVT::v4i32, 1, 11,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 13, 2, 14,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 16, 0, 17,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 15, 18, 19,
      OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
                      MVT::v4i32, 1, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                      4|128,1, 2, 12, 21,
     0,
    0,
   83, 22|128,1,
    OPC_CheckChild0Type, MVT::f64,
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::f64,
    OPC_Scope, 37,
     OPC_CheckPatternPredicate, 19,
     OPC_EmitIntegerI64, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 0, 3,
     OPC_EmitIntegerI64, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 5, 1, 6,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                     22|128,1, 3, 4, 7, 8,
    37,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI64, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 1, 3,
     OPC_EmitIntegerI64, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 5, 0, 6,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                     22|128,1, 3, 4, 7, 8,
    0,
   0,
  0,
 74|128,8|128,7, TARGET_VAL(ISD::VSELECT),
  OPC_RecordChild0,
  OPC_Scope, 100|128,40|128,4,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 6|128,82|128,2, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 24|128,9|128,2, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 102|128,57, TARGET_VAL(ISD::AND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_Scope, 93|128,10,
       OPC_CheckChild0Type, MVT::v2i64,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v2i64,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_Scope, 36|128,10,
        OPC_MoveSibling2,
        OPC_SwitchOpcode , 81|128,5, TARGET_VAL(ISD::BITCAST),
         OPC_MoveChild0,
         OPC_SwitchOpcode , 93|128,4, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_SwitchOpcode , 115, TARGET_VAL(ISD::OR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_Scope, 31,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           44,
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_Scope, 9,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 1, 2, 3,
            9,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 2, 1, 3,
            0,
           31,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           0,
          6|128,2, TARGET_VAL(ISD::XOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_Scope, 31,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           31,
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           31,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           63,
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_Scope, 28,
             OPC_CheckImmAllOnesV,
             OPC_MoveParent,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
             OPC_CheckChild0Same, 1,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v2i64,
             OPC_CheckPatternPredicate0,
             OPC_EmitIntegerI32, 30|128,1,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 1, 2, 3,
            28,
             OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
             OPC_CheckChild0Same, 1,
             OPC_MoveParent,
             OPC_MoveSibling1,
             OPC_CheckImmAllOnesV,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v2i64,
             OPC_CheckPatternPredicate0,
             OPC_EmitIntegerI32, 30|128,1,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 2, 1, 3,
            0,
           31,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           31,
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           31,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           0,
          86|128,1, TARGET_VAL(ISD::BITCAST),
           OPC_Scope, 35,
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           48,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_Scope, 9,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 1, 2, 3,
            9,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 2, 1, 3,
            0,
           60,
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_Scope, 32,
             OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
             OPC_CheckChild0Same, 1,
             OPC_MoveSibling1,
             OPC_CheckImmAllOnesV,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v2i64,
             OPC_CheckPatternPredicate0,
             OPC_EmitIntegerI32, 30|128,1,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 2, 1, 3,
            21,
             OPC_CheckImmAllOnesV,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v2i64,
             OPC_CheckPatternPredicate0,
             OPC_EmitIntegerI32, 46|128,1,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 1, 2, 3,
            0,
           40,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_Scope, 12,
             OPC_EmitIntegerI32, 78|128,1,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 1, 2, 3,
            12,
             OPC_EmitIntegerI32, 46|128,1,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 2, 1, 3,
            0,
           24,
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 78|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           0,
          0,
         106, TARGET_VAL(ISD::OR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 28,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 126|128,0,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          41,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 126|128,0,
           OPC_Scope, 9,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           9,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           0,
          28,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 126|128,0,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         0,
        119|128,3, TARGET_VAL(ISD::XOR),
         OPC_Scope, 68|128,1,
          OPC_MoveChild0,
          OPC_SwitchOpcode , 87, TARGET_VAL(ISD::OR),
           OPC_Scope, 23,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Same, 2,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           36,
            OPC_CheckChild0Same, 2,
            OPC_CheckChild1Same, 1,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_Scope, 9,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 1, 2, 3,
            9,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 2, 1, 3,
            0,
           23,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Same, 2,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           0,
          100, TARGET_VAL(ISD::XOR),
           OPC_Scope, 23,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Same, 2,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           23,
            OPC_CheckChild0Same, 2,
            OPC_CheckChild1Same, 1,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           24,
            OPC_CheckChild0Same, 1,
            OPC_MoveChild1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Same, 2,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           24,
            OPC_CheckChild0Same, 2,
            OPC_MoveChild1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Same, 1,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           0,
          0,
         28,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 30|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         28,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 30|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         104,
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_Scope, 23,
           OPC_CheckChild0Same, 2,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          23,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          24,
           OPC_CheckChild0Same, 2,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          24,
           OPC_CheckChild0Same, 1,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         28,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 30|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         50,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_Scope, 25,
           OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
           OPC_CheckChild0Same, 1,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          18,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 46|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          0,
         37,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_Scope, 12,
           OPC_EmitIntegerI32, 78|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          12,
           OPC_EmitIntegerI32, 46|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         21,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 78|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        78, TARGET_VAL(ISD::OR),
         OPC_Scope, 20,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 126|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         33,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 126|128,0,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         20,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 126|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        0,
       36,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_Scope, 14,
         OPC_CheckChild2Same, 1,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 62,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        15,
         OPC_CheckChild2Same, 2,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 94|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        0,
       0,
      62|128,23,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_SwitchOpcode , 18|128,12, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 21|128,10, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_SwitchOpcode , 123|128,1, TARGET_VAL(ISD::OR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 14|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          108,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           0,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 14|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         39|128,4, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          7|128,1,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_Scope, 64,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v8i16,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 0, 3,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           64,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v8i16,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 0, 3,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           0,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         100|128,3, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 71,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          112,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           0,
          4|128,1,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_Scope, 68,
            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v8i16,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 0, 3,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           57,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v8i16,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 0, 3,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 46|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           0,
          101,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 78|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 46|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           0,
          60,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 78|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         0,
        114|128,1, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 64,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 126|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         105,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 126|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 126|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         64,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 126|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        0,
       55|128,9, TARGET_VAL(ISD::XOR),
        OPC_Scope, 94|128,3,
         OPC_MoveChild0,
         OPC_SwitchOpcode , 95|128,1, TARGET_VAL(ISD::OR),
          OPC_Scope, 59,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 14|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          100,
           OPC_CheckChild0Same, 2,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           0,
          59,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 14|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         116|128,1, TARGET_VAL(ISD::XOR),
          OPC_Scope, 59,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          59,
           OPC_CheckChild0Same, 2,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          60,
           OPC_CheckChild0Same, 1,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          60,
           OPC_CheckChild0Same, 2,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         0,
        64,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        120|128,1,
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 30|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 30|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 30|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 30|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        122,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_Scope, 61,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 30|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         54,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 46|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        98,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 78|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 46|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        57,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 78|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       86|128,1, TARGET_VAL(ISD::OR),
        OPC_Scope, 56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 126|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        97,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 126|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 126|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 126|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       0,
      62|128,23,
       OPC_CheckChild0Type, MVT::v16i8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_SwitchOpcode , 18|128,12, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 21|128,10, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_SwitchOpcode , 123|128,1, TARGET_VAL(ISD::OR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 14|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          108,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           0,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 14|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         39|128,4, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          7|128,1,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_Scope, 64,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v16i8,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 0, 3,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           64,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v16i8,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 0, 3,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           0,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         100|128,3, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 71,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          112,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           0,
          4|128,1,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_Scope, 68,
            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v16i8,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 0, 3,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 30|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           57,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v16i8,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 0, 3,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 46|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           0,
          101,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 78|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 46|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           0,
          60,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 78|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         0,
        114|128,1, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 64,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 126|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         105,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 126|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 126|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         64,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 126|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        0,
       55|128,9, TARGET_VAL(ISD::XOR),
        OPC_Scope, 94|128,3,
         OPC_MoveChild0,
         OPC_SwitchOpcode , 95|128,1, TARGET_VAL(ISD::OR),
          OPC_Scope, 59,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 14|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          100,
           OPC_CheckChild0Same, 2,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 14|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           0,
          59,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 14|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         116|128,1, TARGET_VAL(ISD::XOR),
          OPC_Scope, 59,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          59,
           OPC_CheckChild0Same, 2,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          60,
           OPC_CheckChild0Same, 1,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          60,
           OPC_CheckChild0Same, 2,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 30|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         0,
        64,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        120|128,1,
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 30|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 30|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 30|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 30|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        122,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_Scope, 61,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 30|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         54,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 46|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        98,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 78|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 46|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        57,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 78|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       86|128,1, TARGET_VAL(ISD::OR),
        OPC_Scope, 56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 126|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        97,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 126|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 126|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 126|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       0,
      0,
     70|128,48, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_Scope, 7|128,9,
       OPC_CheckChild0Type, MVT::v2i64,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v2i64,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_Scope, 78|128,8,
        OPC_MoveSibling2,
        OPC_SwitchOpcode , 97|128,4, TARGET_VAL(ISD::BITCAST),
         OPC_MoveChild0,
         OPC_SwitchOpcode , 112|128,3, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_SwitchOpcode , 6|128,2, TARGET_VAL(ISD::XOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_Scope, 31,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           31,
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           31,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           63,
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_Scope, 28,
             OPC_CheckImmAllOnesV,
             OPC_MoveParent,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
             OPC_CheckChild0Same, 1,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v2i64,
             OPC_CheckPatternPredicate0,
             OPC_EmitIntegerI32, 24|128,1,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 1, 2, 3,
            28,
             OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
             OPC_CheckChild0Same, 1,
             OPC_MoveParent,
             OPC_MoveSibling1,
             OPC_CheckImmAllOnesV,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v2i64,
             OPC_CheckPatternPredicate0,
             OPC_EmitIntegerI32, 24|128,1,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 2, 1, 3,
            0,
           31,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           31,
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           31,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           0,
          95|128,1, TARGET_VAL(ISD::BITCAST),
           OPC_Scope, 35,
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           48,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_Scope, 9,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 1, 2, 3,
            9,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 2, 1, 3,
            0,
           35,
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           28,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 104|128,0,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           41,
            OPC_CheckChild0Same, 2,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 104|128,0,
            OPC_Scope, 9,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 1, 2, 3,
            9,
             OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                             MVT::v2i64, 4, 0, 2, 1, 3,
            0,
           28,
            OPC_CheckChild0Same, 1,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 2,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v2i64,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, 104|128,0,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           0,
          0,
         103, TARGET_VAL(ISD::AND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 27,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 24,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          40,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 24,
           OPC_Scope, 9,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           9,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           0,
          27,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 24,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         0,
        20|128,3, TARGET_VAL(ISD::XOR),
         OPC_Scope, 104,
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_Scope, 23,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          23,
           OPC_CheckChild0Same, 2,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          24,
           OPC_CheckChild0Same, 1,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          24,
           OPC_CheckChild0Same, 2,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          0,
         28,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         28,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         104,
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_Scope, 23,
           OPC_CheckChild0Same, 2,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          23,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          24,
           OPC_CheckChild0Same, 2,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          24,
           OPC_CheckChild0Same, 1,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         28,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         28,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         20,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 104|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         33,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 104|128,0,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         20,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 104|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        75, TARGET_VAL(ISD::AND),
         OPC_Scope, 19,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 24,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         32,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 24,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         19,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 24,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        0,
       36,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_Scope, 14,
         OPC_CheckChild2Same, 1,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 56,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        15,
         OPC_CheckChild2Same, 2,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 88|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        0,
       0,
      89|128,19,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_SwitchOpcode , 26|128,10, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 33|128,8, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_SwitchOpcode , 39|128,4, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          7|128,1,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_Scope, 64,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v8i16,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 0, 3,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           64,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v8i16,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 0, 3,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           0,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         111|128,3, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 71,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          112,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           0,
          71,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          64,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 104|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          105,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 104|128,0,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 104|128,0,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           0,
          64,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 104|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         0,
        110|128,1, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 63,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 24,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         103,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 24,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 24,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         63,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 24,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        0,
       78|128,7, TARGET_VAL(ISD::XOR),
        OPC_Scope, 120|128,1,
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         59,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        120|128,1,
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        64,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 104|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        97,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 104|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 104|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 104|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       82|128,1, TARGET_VAL(ISD::AND),
        OPC_Scope, 55,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 24,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        95,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 24,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 24,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        55,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 24,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       0,
      89|128,19,
       OPC_CheckChild0Type, MVT::v16i8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_SwitchOpcode , 26|128,10, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 33|128,8, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_SwitchOpcode , 39|128,4, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          7|128,1,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_Scope, 64,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v16i8,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 0, 3,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           64,
            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
            OPC_CheckChild0Same, 1,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckImmAllOnesV,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v16i8,
            OPC_CheckPatternPredicate0,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 0, 3,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           0,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          67,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         111|128,3, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 71,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          112,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 24|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           0,
          71,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 24|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          64,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 104|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          105,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 104|128,0,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 104|128,0,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           0,
          64,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 104|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         0,
        110|128,1, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 63,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 24,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         103,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 24,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 24,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         63,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 24,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        0,
       78|128,7, TARGET_VAL(ISD::XOR),
        OPC_Scope, 120|128,1,
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         59,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        120|128,1,
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 24|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        64,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 104|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        97,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 104|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 104|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 104|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       82|128,1, TARGET_VAL(ISD::AND),
        OPC_Scope, 55,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 24,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        95,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 24,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 24,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        55,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 24,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       0,
      0,
     1|128,59, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_Scope, 46|128,11,
       OPC_CheckChild0Type, MVT::v2i64,
       OPC_MoveSibling1,
       OPC_Scope, 12|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 31,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        44,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        31,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       12|128,1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 31,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        44,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        31,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       33|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 103, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 27,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 25,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         40,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 25,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         27,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 25,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        32, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        0,
       124,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 27,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 25,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        40,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 25,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        27,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 25,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       98,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 41,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        28,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       127,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 28,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        41,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        28,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       108,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_Scope, 23,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        36,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        23,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       108,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_Scope, 23,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        36,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        23,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       117,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_SwitchOpcode , 75, TARGET_VAL(ISD::AND),
         OPC_Scope, 19,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 25,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         32,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 25,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         19,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 25,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        20, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        0,
       92,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_Scope, 19,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 25,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        32,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 25,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        19,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 25,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       74,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_Scope, 33,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        20,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       95,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_Scope, 20,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        33,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        20,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       49,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_Scope, 14,
         OPC_CheckChild2Same, 1,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 57,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        15,
         OPC_CheckChild2Same, 2,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 89|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        0,
       0,
      99|128,23,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_MoveSibling1,
       OPC_Scope, 20|128,2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        108,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       20|128,2,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        108,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       77|128,2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 110|128,1, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 63,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         103,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         63,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        68, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       3|128,2,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 63,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        103,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        63,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       70|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 105,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       7|128,2,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        105,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       116|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_Scope, 59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        100,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       116|128,1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_Scope, 59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        100,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       33|128,2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_SwitchOpcode , 82|128,1, TARGET_VAL(ISD::AND),
         OPC_Scope, 55,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         95,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         55,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        56, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       99|128,1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_Scope, 55,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        95,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        55,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       46|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_Scope, 97,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       103|128,1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_Scope, 56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        97,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       0,
      99|128,23,
       OPC_CheckChild0Type, MVT::v16i8,
       OPC_MoveSibling1,
       OPC_Scope, 20|128,2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        108,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       20|128,2,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        108,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       77|128,2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 110|128,1, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 63,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         103,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         63,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        68, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       3|128,2,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 63,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        103,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        63,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       70|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 105,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       7|128,2,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        105,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       116|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_Scope, 59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        100,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       116|128,1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_Scope, 59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        100,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       33|128,2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_SwitchOpcode , 82|128,1, TARGET_VAL(ISD::AND),
         OPC_Scope, 55,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         95,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         55,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        56, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       99|128,1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_Scope, 55,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        95,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        55,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       46|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_Scope, 97,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       103|128,1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_Scope, 56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        97,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        56,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       0,
      0,
     88|128,99, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_Scope, 103|128,18,
       OPC_CheckChild0Type, MVT::v2i64,
       OPC_MoveSibling1,
       OPC_Scope, 16|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 31,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        44,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         0,
        31,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        0,
       105|128,2,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 121, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 32,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 10|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         48,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_Scope, 12,
           OPC_EmitIntegerI32, 12|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          12,
           OPC_EmitIntegerI32, 10|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         32,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 12|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         0,
        10|128,1, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 32,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         32,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         32,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         32,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        76, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 36,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         36,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        0,
       1|128,2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 115, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 31,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         44,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         31,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        115, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 31,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         44,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         31,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        0,
       80|128,2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_SwitchOpcode , 90|128,1, TARGET_VAL(ISD::BITCAST),
         OPC_MoveChild0,
         OPC_SwitchOpcode , 103, TARGET_VAL(ISD::AND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 27,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 25,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          40,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 25,
           OPC_Scope, 9,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           9,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           0,
          27,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 25,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          0,
         106, TARGET_VAL(ISD::OR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 28,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 121|128,0,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          41,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 121|128,0,
           OPC_Scope, 9,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           9,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           0,
          28,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 121|128,0,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          0,
         0,
        91, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::AND),
         OPC_Scope, 23,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         36,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          0,
         23,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         0,
        0,
       68|128,1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 45, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_RecordChild0,
         OPC_CheckChild0Type, MVT::v2i64,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_Scope, 12,
          OPC_EmitIntegerI32, 44|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         12,
          OPC_EmitIntegerI32, 74|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        64, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 28,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 26,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         28,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 28,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         0,
        66, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 29,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 122|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         29,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 124|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         0,
        0,
       74,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 24,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 38|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        24,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 70|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        0,
       20|128,1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 64, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 28,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 26,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         28,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 28,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         0,
        66, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 29,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 122|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         29,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v2i64,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 124|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         0,
        0,
       54|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 56, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 24,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 38|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         24,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 70|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        103, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 27,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 22,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         40,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 22,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         27,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 22,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        0,
       5|128,2,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_Scope, 64|128,1,
         OPC_MoveChild0,
         OPC_SwitchOpcode , 87, TARGET_VAL(ISD::OR),
          OPC_Scope, 22,
           OPC_RecordChild0,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 10|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          38,
           OPC_CheckChild0Same, 1,
           OPC_RecordChild1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_Scope, 12,
            OPC_EmitIntegerI32, 12|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 1, 2, 3,
           12,
            OPC_EmitIntegerI32, 10|128,1,
            OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v2i64, 4, 0, 2, 1, 3,
           0,
          22,
           OPC_RecordChild0,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 12|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          0,
         96, TARGET_VAL(ISD::XOR),
          OPC_Scope, 22,
           OPC_RecordChild0,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 26|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          22,
           OPC_CheckChild0Same, 1,
           OPC_RecordChild1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 26|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          23,
           OPC_RecordChild0,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 26|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          23,
           OPC_CheckChild0Same, 1,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_RecordChild1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v2i64,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, 26|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         0,
        27,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_RecordChild0,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 26|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        27,
         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::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 26|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       69|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 87, TARGET_VAL(ISD::OR),
         OPC_Scope, 23,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         36,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         23,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        87, TARGET_VAL(ISD::AND),
         OPC_Scope, 23,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         36,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         23,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        0,
       51|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_SwitchOpcode , 75, TARGET_VAL(ISD::AND),
         OPC_Scope, 19,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 25,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         32,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 25,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          0,
         19,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 25,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         0,
        78, TARGET_VAL(ISD::OR),
         OPC_Scope, 20,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         33,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          0,
         20,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         0,
        0,
       45,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_Scope, 12,
         OPC_EmitIntegerI32, 44|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        12,
         OPC_EmitIntegerI32, 74|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       0,
      52|128,40,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_MoveSibling1,
       OPC_Scope, 24|128,2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 67,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        108,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        67,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       72|128,5,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 126|128,1, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 68,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 10|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         109,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 12|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 10|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         68,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 12|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        26|128,2, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 68,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         68,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         68,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         68,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        20|128,1, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 72,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         72,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        0,
       19|128,4,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 123|128,1, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 67,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         108,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 6|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 6|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         67,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        123|128,1, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 67,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         108,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 102|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 102|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         67,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        0,
       106|128,5,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_SwitchOpcode , 107|128,3, TARGET_VAL(ISD::BITCAST),
         OPC_MoveChild0,
         OPC_SwitchOpcode , 110|128,1, TARGET_VAL(ISD::AND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 63,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          103,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 36,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 25,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           36,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 25,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           0,
          63,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         114|128,1, TARGET_VAL(ISD::OR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 64,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 121|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          105,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 121|128,0,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 121|128,0,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           0,
          64,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 121|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         0,
        99|128,1, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::AND),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         100,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 105|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 105|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         59,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        0,
       19|128,3,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 106, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_RecordChild0,
         OPC_CheckChild0Type, MVT::v8i16,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 44|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 74|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        8|128,1, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 64,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         64,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 28,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        10|128,1, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 65,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 122|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         65,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 124|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        0,
       18|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 60,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 38|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        60,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 70|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       38|128,2,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 8|128,1, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 64,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         64,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 28,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        10|128,1, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 65,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 122|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         65,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v8i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 124|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        0,
       7|128,3,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 0|128,1, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 60,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 38|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 70|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        110|128,1, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 63,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 22,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         103,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 22,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 22,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         63,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 22,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        0,
       100|128,4,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_Scope, 87|128,3,
         OPC_MoveChild0,
         OPC_SwitchOpcode , 92|128,1, TARGET_VAL(ISD::OR),
          OPC_Scope, 58,
           OPC_RecordChild0,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 10|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          99,
           OPC_CheckChild0Same, 1,
           OPC_RecordChild1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 12|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 10|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v8i16, 2, 10, 11,
           0,
          58,
           OPC_RecordChild0,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 12|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         112|128,1, TARGET_VAL(ISD::XOR),
          OPC_Scope, 58,
           OPC_RecordChild0,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 26|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          58,
           OPC_CheckChild0Same, 1,
           OPC_RecordChild1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 26|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          59,
           OPC_RecordChild0,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 26|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          59,
           OPC_CheckChild0Same, 1,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_RecordChild1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v8i16,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 26|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         0,
        63,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_RecordChild0,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 26|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        63,
         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::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 26|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       87|128,3,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 95|128,1, TARGET_VAL(ISD::OR),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         100,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 6|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 6|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        95|128,1, TARGET_VAL(ISD::AND),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         100,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 102|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 102|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        0,
       68|128,3,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_SwitchOpcode , 82|128,1, TARGET_VAL(ISD::AND),
         OPC_Scope, 55,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         95,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         55,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        86|128,1, TARGET_VAL(ISD::OR),
         OPC_Scope, 56,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         97,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 121|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 121|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         56,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        0,
       106,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 44|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 74|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       0,
      52|128,40,
       OPC_CheckChild0Type, MVT::v16i8,
       OPC_MoveSibling1,
       OPC_Scope, 24|128,2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 67,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        108,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        67,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       72|128,5,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 126|128,1, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 68,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 10|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         109,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 12|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 10|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         68,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 12|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        26|128,2, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 68,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         68,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         68,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         68,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        20|128,1, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 72,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         72,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        0,
       19|128,4,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 123|128,1, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 67,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         108,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 6|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 6|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         67,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        123|128,1, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 67,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         108,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 102|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 102|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         67,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        0,
       106|128,5,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_SwitchOpcode , 107|128,3, TARGET_VAL(ISD::BITCAST),
         OPC_MoveChild0,
         OPC_SwitchOpcode , 110|128,1, TARGET_VAL(ISD::AND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 63,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          103,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 36,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 25,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           36,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 25,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           0,
          63,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         114|128,1, TARGET_VAL(ISD::OR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_Scope, 64,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 121|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          105,
           OPC_CheckChild0Same, 1,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 2,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 121|128,0,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 121|128,0,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           0,
          64,
           OPC_CheckChild0Same, 2,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
           OPC_CheckChild0Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v4i32,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 121|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         0,
        99|128,1, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::AND),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         100,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 105|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 105|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         59,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 105|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        0,
       19|128,3,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 106, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_RecordChild0,
         OPC_CheckChild0Type, MVT::v16i8,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 44|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 74|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        8|128,1, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 64,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         64,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 28,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        10|128,1, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 65,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 122|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         65,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 124|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        0,
       18|128,1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 60,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 38|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        60,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 70|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       38|128,2,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 8|128,1, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 64,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         64,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 28,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        10|128,1, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 65,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 122|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         65,
          OPC_RecordChild0,
          OPC_CheckChild0Type, MVT::v16i8,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 124|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        0,
       7|128,3,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 0|128,1, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 60,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 38|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 70|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        110|128,1, TARGET_VAL(ISD::AND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 63,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 22,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         103,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 22,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 22,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         63,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 22,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        0,
       100|128,4,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_Scope, 87|128,3,
         OPC_MoveChild0,
         OPC_SwitchOpcode , 92|128,1, TARGET_VAL(ISD::OR),
          OPC_Scope, 58,
           OPC_RecordChild0,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 10|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          99,
           OPC_CheckChild0Same, 1,
           OPC_RecordChild1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_Scope, 37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 7,
            OPC_EmitIntegerI32, 12|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           37,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 2, 5,
            OPC_EmitIntegerI32, PPC::VSRCRegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v4i32, 2, 1, 7,
            OPC_EmitIntegerI32, 10|128,1,
            OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                            MVT::v4i32, 4, 4, 6, 8, 9,
            OPC_EmitIntegerI32, PPC::VRRCRegClassID,
            OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::v16i8, 2, 10, 11,
           0,
          58,
           OPC_RecordChild0,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 12|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         112|128,1, TARGET_VAL(ISD::XOR),
          OPC_Scope, 58,
           OPC_RecordChild0,
           OPC_CheckChild1Same, 1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 26|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          58,
           OPC_CheckChild0Same, 1,
           OPC_RecordChild1,
           OPC_MoveSibling1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 26|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          59,
           OPC_RecordChild0,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Same, 1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 26|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          59,
           OPC_CheckChild0Same, 1,
           OPC_MoveChild1,
           OPC_CheckImmAllOnesV,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_RecordChild1,
           OPC_MoveParent,
           OPC_CheckType, MVT::v16i8,
           OPC_CheckPatternPredicate0,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 0, 3,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 26|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         0,
        63,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_RecordChild0,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 26|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        63,
         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::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 26|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       87|128,3,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 95|128,1, TARGET_VAL(ISD::OR),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         100,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 6|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 6|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 6|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        95|128,1, TARGET_VAL(ISD::AND),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         100,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 102|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 102|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 102|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        0,
       68|128,3,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_SwitchOpcode , 82|128,1, TARGET_VAL(ISD::AND),
         OPC_Scope, 55,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         95,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          36,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 25,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         55,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 25,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        86|128,1, TARGET_VAL(ISD::OR),
         OPC_Scope, 56,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         97,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 121|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 121|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         56,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 121|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        0,
       106,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 44|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 74|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       0,
      0,
     0,
    73|128,23, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_Scope, 36|128,4,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 50|128,3, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_SwitchOpcode , 62|128,2, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 115, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 31,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 1|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         44,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 1|128,1,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         31,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 1|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        65|128,1, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 24,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 33|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         40,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_Scope, 12,
           OPC_EmitIntegerI32, 65|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          12,
           OPC_EmitIntegerI32, 33|128,1,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         24,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 65|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         28,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 97|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         41,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 97|128,0,
          OPC_Scope, 9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 1, 2, 3,
          9,
           OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v2i64, 4, 0, 2, 1, 3,
          0,
         28,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 97|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        0,
       106, TARGET_VAL(ISD::OR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 28,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 113|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        41,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 113|128,0,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        28,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 113|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       0,
      91, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_Scope, 23,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       36,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1|128,1,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       23,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      0,
     76|128,9,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 81|128,7, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_SwitchOpcode , 84|128,5, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 123|128,1, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 67,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 1|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         108,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 1|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 1|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         67,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 1|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        78|128,3, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 60,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 33|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         101,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 65|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 33|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         60,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 65|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         64,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 97|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         105,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 97|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 97|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v8i16, 2, 10, 11,
          0,
         64,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 97|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        0,
       114|128,1, TARGET_VAL(ISD::OR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 113|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        105,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 113|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 113|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 113|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       0,
      99|128,1, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_Scope, 59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 1|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       100,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 1|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 1|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 1|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      0,
     76|128,9,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 81|128,7, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_SwitchOpcode , 84|128,5, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_SwitchOpcode , 123|128,1, TARGET_VAL(ISD::OR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 67,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 1|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         108,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 1|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 1|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         67,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 1|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        78|128,3, TARGET_VAL(ISD::BITCAST),
         OPC_Scope, 60,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 33|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         101,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 65|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 33|128,1,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         60,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 65|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         64,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 97|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         105,
          OPC_CheckChild0Same, 2,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_Scope, 37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 7,
           OPC_EmitIntegerI32, 97|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          37,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 2, 5,
           OPC_EmitIntegerI32, PPC::VSRCRegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v4i32, 2, 1, 7,
           OPC_EmitIntegerI32, 97|128,0,
           OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                           MVT::v4i32, 4, 4, 6, 8, 9,
           OPC_EmitIntegerI32, PPC::VRRCRegClassID,
           OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::v16i8, 2, 10, 11,
          0,
         64,
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 97|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        0,
       114|128,1, TARGET_VAL(ISD::OR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 113|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        105,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 113|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 113|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 113|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       0,
      99|128,1, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_Scope, 59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 1|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       100,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 1|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 1|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 1|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     0,
    21|128,49, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_Scope, 6|128,9,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 69|128,5, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_SwitchOpcode , 6|128,2, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 31,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        31,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        31,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        63,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_Scope, 28,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         28,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        31,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        31,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        31,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       115, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 31,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        44,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        31,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       58|128,2, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 35,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        48,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        60,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_Scope, 32,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         21,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 39|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         0,
        40,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_Scope, 12,
          OPC_EmitIntegerI32, 71|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         12,
          OPC_EmitIntegerI32, 39|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        24,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 71|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        28,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 103|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        41,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 103|128,0,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        28,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 103|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       0,
      41|128,3, TARGET_VAL(ISD::XOR),
       OPC_Scope, 4|128,1,
        OPC_MoveChild0,
        OPC_SwitchOpcode , 100, TARGET_VAL(ISD::XOR),
         OPC_Scope, 23,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         23,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         24,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         24,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v2i64,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         0,
        23, TARGET_VAL(ISD::AND),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        0,
       28,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       28,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       104,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_Scope, 23,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        23,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        24,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        24,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       28,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       28,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       67,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_Scope, 36,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        23,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       0,
      0,
     1|128,20,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 5|128,12, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_SwitchOpcode , 39|128,4, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        67,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        7|128,1,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_Scope, 64,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         64,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        67,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       123|128,1, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        108,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 103|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 103|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       80|128,5, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 71,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        112,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        4|128,1,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_Scope, 68,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         57,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 39|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        101,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 71|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 39|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        60,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 71|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 103|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        105,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 103|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 103|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 103|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       0,
      100|128,7, TARGET_VAL(ISD::XOR),
       OPC_Scope, 57|128,2,
        OPC_MoveChild0,
        OPC_SwitchOpcode , 116|128,1, TARGET_VAL(ISD::XOR),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         59,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v8i16,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        59, TARGET_VAL(ISD::AND),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       64,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       64,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       120|128,1,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_Scope, 59,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        60,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        60,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       64,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       64,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       39|128,1,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_Scope, 100,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 103|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 103|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       0,
      0,
     1|128,20,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 5|128,12, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_SwitchOpcode , 39|128,4, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        67,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        7|128,1,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_Scope, 64,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         64,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        67,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       123|128,1, TARGET_VAL(ISD::AND),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        108,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 103|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 103|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        67,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       80|128,5, TARGET_VAL(ISD::BITCAST),
        OPC_Scope, 71,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        112,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        4|128,1,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_Scope, 68,
          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
          OPC_CheckChild0Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         57,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_CheckType, MVT::v4i32,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 39|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        101,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 71|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 39|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        60,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 71|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 103|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        105,
         OPC_CheckChild0Same, 2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 103|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 103|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        64,
         OPC_CheckChild0Same, 1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 103|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       0,
      100|128,7, TARGET_VAL(ISD::XOR),
       OPC_Scope, 57|128,2,
        OPC_MoveChild0,
        OPC_SwitchOpcode , 116|128,1, TARGET_VAL(ISD::XOR),
         OPC_Scope, 59,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Same, 2,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         59,
          OPC_CheckChild0Same, 2,
          OPC_CheckChild1Same, 1,
          OPC_MoveSibling1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 1,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 2,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         60,
          OPC_CheckChild0Same, 2,
          OPC_MoveChild1,
          OPC_CheckImmAllOnesV,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Same, 1,
          OPC_MoveParent,
          OPC_CheckType, MVT::v16i8,
          OPC_CheckPatternPredicate0,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 0, 3,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 23|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        59, TARGET_VAL(ISD::AND),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       64,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       64,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       120|128,1,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_Scope, 59,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        60,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        60,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 23|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       64,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       64,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       39|128,1,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
        OPC_Scope, 100,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 103|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 103|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 103|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       0,
      0,
     0,
    0,
   21|128,62|128,1, TARGET_VAL(ISD::XOR),
    OPC_Scope, 67|128,9,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 14|128,4, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 115, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 14|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       44,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 14|128,1,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 14|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      6|128,2, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       31,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       63,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_Scope, 28,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        28,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       31,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      123, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 35,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       48,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       35,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      0,
     24|128,3, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 6|128,2, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       31,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       63,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_Scope, 28,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        28,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       31,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      123, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 35,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       48,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       35,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      0,
     14|128,2, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 3|128,1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       44,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      4|128,1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       44,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       31,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      0,
     0,
    9|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 31,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     44,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     31,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    4|128,21,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 43|128,9, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 48|128,2, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 120,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 49, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 14|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        49, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 14|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       108,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 14|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 14|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 14|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      92|128,4, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 120,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 49, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        49, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       67,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       7|128,1,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_Scope, 64,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        64,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       67,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      3|128,2, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 71,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       112,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       71,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      0,
     119|128,6, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 92|128,4, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 120,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 49, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        49, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       67,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       7|128,1,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_Scope, 64,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        64,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       67,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      3|128,2, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 71,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       112,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       71,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      0,
     83|128,4, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 64|128,2,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 120,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 49, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        49, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       108,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      12|128,2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       108,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      0,
     0,
    17|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 67,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     108,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 105|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 105|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     67,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    32|128,17,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 57|128,7, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 55|128,1, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 108,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 14|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 14|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 14|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      99|128,3, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 67,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       7|128,1,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_Scope, 64,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        64,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       67,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      3|128,2, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 71,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       112,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       71,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     126|128,5, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 99|128,3, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 67,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       7|128,1,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_Scope, 64,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        64,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       67,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      3|128,2, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 71,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       112,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 24|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       71,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     90|128,3, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 71|128,1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 108,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      12|128,2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       108,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       67,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     0,
    118|128,15,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_Scope, 15|128,2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 67,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 105|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      108,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      67,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 105|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     95|128,13,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 32|128,5, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 32,
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 10|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       48,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_Scope, 12,
         OPC_EmitIntegerI32, 12|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        12,
         OPC_EmitIntegerI32, 10|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       103,
        OPC_RecordChild0,
        OPC_Scope, 31,
         OPC_CheckChild0Type, MVT::v2i64,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 12|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        67,
         OPC_CheckChild0Type, MVT::v8i16,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 10|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       68,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 12|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       68,
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 10|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       5|128,1,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_Scope, 61,
         OPC_CheckChild0Type, MVT::v16i8,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 12|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        61,
         OPC_CheckChild0Type, MVT::v8i16,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 10|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       68,
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 12|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       68,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 10|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       68,
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 12|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      54|128,5, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 32,
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       32,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       32,
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       32,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       11|128,1,
        OPC_RecordChild0,
        OPC_Scope, 67,
         OPC_CheckChild0Type, MVT::v8i16,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 26|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        67,
         OPC_CheckChild0Type, MVT::v16i8,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_CheckChild0Same, 1,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 26|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       68,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       68,
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       9|128,1,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_Scope, 65,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_RecordChild0,
         OPC_CheckChild0Type, MVT::v8i16,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 26|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        65,
         OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
         OPC_RecordChild0,
         OPC_CheckChild0Type, MVT::v16i8,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 26|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       68,
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       68,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      112|128,2, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 36,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       36,
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       72,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       72,
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v8i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       72,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       72,
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v16i8,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     0,
    27|128,6,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 108|128,4, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 57|128,4, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 24,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 46|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       40,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_Scope, 12,
         OPC_EmitIntegerI32, 78|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        12,
         OPC_EmitIntegerI32, 46|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       77,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 13, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 78|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        49, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 46|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       60,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 78|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 46|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       113,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 49, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 78|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        49, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 46|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       60,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 78|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 46|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 78|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      32, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 126|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     81, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      32, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     81, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 31, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      32, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     0,
    89,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 35, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 6|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     35, TARGET_VAL(ISD::AND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 102|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    50|128,2,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 88, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 40,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      27,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     80|128,1, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 87,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 40,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       27,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      116,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 27,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       40,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       27,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      0,
     0,
    121,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 27,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 25,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     40,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 25,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     27,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 25,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    57|128,2,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 90, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 41,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      28,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     85|128,1, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 89,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 41,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       28,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      119,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 28,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       41,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       28,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      0,
     0,
    124,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 28,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     41,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     28,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    94,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 41,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     28,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    57|128,1,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 83, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 44,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 6|128,1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      31,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 6|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     83, TARGET_VAL(ISD::AND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 44,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 102|128,1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      31,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 102|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     0,
    17|128,3,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 25|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 67, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 24,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      68, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     25|128,1, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 67, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 25,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      68, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     81, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    33|128,1,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 71, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 6|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     71, TARGET_VAL(ISD::AND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 102|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    17|128,3,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 25|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 67, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 24,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      68, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     25|128,1, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 67, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 25,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      68, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     81, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    33|128,1,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 71, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 6|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     71, TARGET_VAL(ISD::AND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 102|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    2|128,5,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 59|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 103,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 36,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       36,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      63,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 24,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     60|128,3, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 58|128,1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 103,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       63,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 25,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      123|128,1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 63,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 25,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       103,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       63,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 25,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      0,
     0,
    0|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 63,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 25,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     103,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 36,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 25,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      36,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 25,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     63,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 25,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    12|128,5,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 62|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 105,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 104|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 104|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     67|128,3, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 61|128,1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 105,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       64,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      127|128,1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 64,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       105,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       64,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      0,
     0,
    4|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 64,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     105,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     64,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    66|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 105,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 126|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 126|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     64,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    3|128,3,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 55|128,1, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 108,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 6|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 6|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      67,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 6|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     55|128,1, TARGET_VAL(ISD::AND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 108,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 102|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 102|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      67,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 102|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     0,
    2|128,5,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 59|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 103,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 36,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       36,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      63,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 24,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     60|128,3, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 58|128,1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 103,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       63,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 25,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      123|128,1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 63,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 25,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       103,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       63,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 25,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     0,
    0|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 63,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 25,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     103,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 36,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 25,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      36,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 25,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     63,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 25,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    12|128,5,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 62|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 105,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 104|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 104|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     67|128,3, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 61|128,1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 105,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       64,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      127|128,1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 64,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       105,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       64,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     0,
    4|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 64,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     105,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     64,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    66|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 105,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 126|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 126|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     64,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    3|128,3,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 55|128,1, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 108,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 6|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 6|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      67,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 6|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     55|128,1, TARGET_VAL(ISD::AND),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 108,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 102|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 102|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      67,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 102|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     0,
    71|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 98, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 40, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 13, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 14|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       13, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 14|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       0,
      40, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 13, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       13, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       0,
      0,
     53, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      13, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     36, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    57,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_EmitIntegerI32, 44|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     12,
      OPC_EmitIntegerI32, 74|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    18|128,7,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 76|128,1, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 99,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 23,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       36,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 2, 1, 3,
        0,
       23,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      100,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 23,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       36,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 2, 1, 3,
        0,
       23,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      0,
     126|128,2, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 20|128,1,
       OPC_MoveChild0,
       OPC_SwitchOpcode , 63, TARGET_VAL(ISD::OR),
        OPC_Scope, 36,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 14|128,1,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 0, 2, 1, 3,
         0,
        23,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 14|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 2, 1, 3,
        0,
       76, TARGET_VAL(ISD::XOR),
        OPC_Scope, 23,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 1, 2, 3,
        24,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 1, 2, 3,
        24,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 1, 2, 3,
        0,
       0,
      28,
       OPC_CheckChild0Same, 2,
       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_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      28,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      104,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 23,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       23,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       24,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       24,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      28,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      28,
       OPC_CheckChild0Same, 2,
       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_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      0,
     57|128,2, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 80,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 23,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       24,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       24,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       0,
      28,
       OPC_CheckChild0Same, 2,
       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_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      28,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      104,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 23,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       23,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       24,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       24,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      28,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      28,
       OPC_CheckChild0Same, 2,
       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_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      0,
     0,
    105,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 23,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     36,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      0,
     23,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    122|128,6,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 126|128,2, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 20|128,1,
       OPC_MoveChild0,
       OPC_SwitchOpcode , 63, TARGET_VAL(ISD::OR),
        OPC_Scope, 36,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 14|128,1,
         OPC_Scope, 9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         9,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        23,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 14|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       76, TARGET_VAL(ISD::XOR),
        OPC_Scope, 23,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        24,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        24,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        0,
       0,
      28,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      28,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      104,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 23,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       23,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       24,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       24,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      28,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      28,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     57|128,2, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 80,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 23,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       24,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       24,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       0,
      28,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      28,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      104,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 23,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       23,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       24,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       24,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      28,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      28,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     52|128,1, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 75,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 36,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       23,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      100,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 23,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       36,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       23,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      0,
     0,
    105,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 23,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     36,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     23,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    90|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 8|128,1, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 59, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 14|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      59, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     72, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 24|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    118,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_Scope, 37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 44|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 74|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    37|128,2,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 72, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     8|128,1, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 59, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 14|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      59, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     72, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 24|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    118,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_Scope, 37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 44|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 74|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    37|128,16,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 94|128,3, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 107|128,1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       100,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      108|128,1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       100,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      0,
     113|128,6, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 102|128,2,
       OPC_MoveChild0,
       OPC_SwitchOpcode , 35|128,1, TARGET_VAL(ISD::OR),
        OPC_Scope, 100,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 14|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 14|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 14|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       56|128,1, TARGET_VAL(ISD::XOR),
        OPC_Scope, 59,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        60,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        60,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       0,
      64,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      120|128,1,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 59,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      64,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     71|128,5, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 60|128,1,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 59,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      64,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      120|128,1,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 59,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      64,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     0,
    113|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 59,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     100,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 105|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 105|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     59,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 105|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    105|128,15,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 113|128,6, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 102|128,2,
       OPC_MoveChild0,
       OPC_SwitchOpcode , 35|128,1, TARGET_VAL(ISD::OR),
        OPC_Scope, 100,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 14|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 14|128,1,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        59,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Same, 2,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 14|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       56|128,1, TARGET_VAL(ISD::XOR),
        OPC_Scope, 59,
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 1,
         OPC_MoveSibling1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        60,
         OPC_CheckChild0Same, 1,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 2,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        60,
         OPC_CheckChild0Same, 2,
         OPC_MoveChild1,
         OPC_CheckImmAllOnesV,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 30|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       0,
      64,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      120|128,1,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 59,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 30|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      64,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 30|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     71|128,5, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 60|128,1,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 59,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      64,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      120|128,1,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 59,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 2,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      64,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 24|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     34|128,3, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 47|128,1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 100,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      108|128,1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       100,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 105|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       59,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     0,
    8|128,3,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_Scope, 111|128,1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 59,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 105|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      100,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 105|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      59,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 105|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     17|128,1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 64, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 28,
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 26,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       28,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 28,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       0,
      66, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 29,
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 122|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       29,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v2i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 124|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       0,
      0,
     0,
    0,
   76|128,4, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_Scope, 31,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 2,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    44,
     OPC_CheckChild0Same, 2,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1|128,1,
     OPC_Scope, 9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    7|128,1,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 2,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 13, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     49, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     49, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    108,
     OPC_CheckChild0Same, 2,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_Scope, 37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    67,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 2,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 1|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    108,
     OPC_CheckChild0Same, 2,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_Scope, 37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    67,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 2,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 1|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   104|128,19, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 58|128,10, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 31,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     31,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     31,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     63,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_Scope, 28,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      28,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     31,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     31,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     24|128,1,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_Scope, 28,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      117,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 49, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       49, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 23|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     67,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     67,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     7|128,1,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_Scope, 64,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      64,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     67,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     67,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     67,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     67,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     67,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     7|128,1,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_Scope, 64,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      64,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     67,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     67,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     67,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    62|128,4, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 31,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 103|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     44,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 103|128,1,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     7|128,1,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      49, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      49, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     108,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     67,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 103|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     108,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     67,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 103|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    87|128,4, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 35,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     48,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     88,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      49, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     112,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     124,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 49, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      49, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     112,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     71,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    0,
   0,
  85,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_Scope, 32,
    OPC_CheckChild0Same, 1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   32,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_CheckChild0Same, 1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   0,
  92|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 68, TARGET_VAL(ISD::AND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   68, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   68, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   0,
  85,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_Scope, 32,
    OPC_CheckChild0Same, 1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 99|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   32,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_CheckChild0Same, 1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 101|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   0,
  41|128,4,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 19|128,1, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 64, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 28,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 26,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     28,
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    66, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 29,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 122|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     29,
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 124|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    0,
   11|128,3, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 57, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 14,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 56,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     15,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 88|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    45|128,1, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveSibling1,
     OPC_Scope, 30,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 57,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     48,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 14,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 57,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      14,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 57,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     31,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 1,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     50,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      15,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     0,
    88, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 14,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 57,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     30,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 11,
       OPC_EmitIntegerI32, 57,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      12,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    57, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 14,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 62,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     15,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 94|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    0,
   0,
  85,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_Scope, 32,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_CheckChild0Same, 1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild0Same, 1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   0,
  92|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 68, TARGET_VAL(ISD::AND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   68, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   68, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   0,
  85,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_Scope, 32,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_CheckChild0Same, 1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 99|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild0Same, 1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 101|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   0,
  70|128,5,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 37|128,2, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 8|128,1, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 64,
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 26,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     64,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 28,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    10|128,1, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 65,
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 122|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     65,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 124|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    0,
   22|128,3, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 1|128,1, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 56,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 88|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    1|128,1, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 57,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    1|128,1, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 62,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 94|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    0,
   0,
  29|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_Scope, 68,
    OPC_CheckChild0Same, 1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   68,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_CheckChild0Same, 1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   0,
  55|128,3,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 12|128,1, TARGET_VAL(ISD::AND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   12|128,1, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   12|128,1, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   0,
  29|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_Scope, 68,
    OPC_CheckChild0Same, 1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 99|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   68,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_CheckChild0Same, 1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 101|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   0,
  70|128,5,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 37|128,2, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 8|128,1, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 64,
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 26,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     64,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 28,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    10|128,1, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 65,
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 122|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     65,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 124|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    0,
   22|128,3, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 1|128,1, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 56,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 88|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    1|128,1, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 57,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    1|128,1, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 62,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 94|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    0,
   0,
  29|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_Scope, 68,
    OPC_CheckChild0Same, 1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   68,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_CheckChild0Same, 1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   0,
  55|128,3,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 12|128,1, TARGET_VAL(ISD::AND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   12|128,1, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   12|128,1, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   0,
  29|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_Scope, 68,
    OPC_CheckChild0Same, 1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 99|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   68,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_CheckChild0Same, 1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 101|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   0,
  43|128,9,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 37|128,2, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 8|128,1, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 64,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 26,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     64,
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 28,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    10|128,1, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 65,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 122|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     65,
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 124|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    0,
   123|128,6, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 1|128,1, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 56,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 88|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    5|128,3, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveSibling1,
     OPC_Scope, 66,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 57,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     120,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_Scope, 50,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 57,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      50,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 57,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     67,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     122,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_Scope, 51,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      51,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     0,
    93|128,1, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 57,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     91,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 36,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 57,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    1|128,1, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 62,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 94|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    0,
   0,
  29|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_Scope, 68,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_CheckChild0Same, 1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   68,
    OPC_CheckChild0Same, 1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   0,
  55|128,3,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 12|128,1, TARGET_VAL(ISD::AND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   12|128,1, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   12|128,1, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   0,
  29|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_Scope, 68,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_CheckChild0Same, 1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 99|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   68,
    OPC_CheckChild0Same, 1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 101|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   0,
  43|128,9,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 37|128,2, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 8|128,1, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 64,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 26,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     64,
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 28,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    10|128,1, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 65,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 122|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     65,
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 124|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    0,
   123|128,6, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 1|128,1, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 56,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 88|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    5|128,3, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveSibling1,
     OPC_Scope, 66,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 57,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     120,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_Scope, 50,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 57,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      50,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 57,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     67,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 1,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     122,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_Scope, 51,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      51,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     0,
    93|128,1, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 57,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     91,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 36,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 57,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    1|128,1, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 62,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 94|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    0,
   0,
  29|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_Scope, 68,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_CheckChild0Same, 1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   68,
    OPC_CheckChild0Same, 1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   0,
  55|128,3,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 12|128,1, TARGET_VAL(ISD::AND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   12|128,1, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   12|128,1, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   0,
  29|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_Scope, 68,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_CheckChild0Same, 1,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 99|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   68,
    OPC_CheckChild0Same, 1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 101|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   0,
  64|128,83,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 88|128,34, TARGET_VAL(ISD::XOR),
    OPC_Scope, 87,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 48, TARGET_VAL(ISD::OR),
      OPC_Scope, 22,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 10|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      22,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 12|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      0,
     22, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 26|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     0,
    59,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 21,
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 46|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     21,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 78|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    87,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 48, TARGET_VAL(ISD::OR),
      OPC_Scope, 22,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 10|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      22,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 12|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     22, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 26|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    59,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 21,
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 46|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     21,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 78|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    70|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 2|128,1,
      OPC_MoveChild0,
      OPC_SwitchOpcode , 48, TARGET_VAL(ISD::OR),
       OPC_Scope, 22,
        OPC_CheckChild0Same, 1,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 10|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       22,
        OPC_RecordChild0,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 12|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       0,
      73, TARGET_VAL(ISD::XOR),
       OPC_Scope, 22,
        OPC_CheckChild0Same, 1,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       23,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       23,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      0,
     27,
      OPC_CheckChild0Same, 1,
      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_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 26|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     27,
      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_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 26|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     0,
    59,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 21,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 46|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     21,
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 78|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     0,
    70|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 2|128,1,
      OPC_MoveChild0,
      OPC_SwitchOpcode , 48, TARGET_VAL(ISD::OR),
       OPC_Scope, 22,
        OPC_CheckChild0Same, 1,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 10|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       22,
        OPC_RecordChild0,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 12|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       0,
      73, TARGET_VAL(ISD::XOR),
       OPC_Scope, 22,
        OPC_CheckChild0Same, 1,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       23,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       23,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      0,
     27,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 26|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     27,
      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::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 26|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    59,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 21,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 46|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     21,
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 78|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    67|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 120, TARGET_VAL(ISD::OR),
      OPC_Scope, 58,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 10|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      58,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 12|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     58, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 26|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    3|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 57,
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 46|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     57,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 78|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    67|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 120, TARGET_VAL(ISD::OR),
      OPC_Scope, 58,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 10|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      58,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 12|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     58, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 26|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    3|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 57,
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 46|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     57,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 78|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    67|128,3,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 55|128,2,
      OPC_MoveChild0,
      OPC_SwitchOpcode , 120, TARGET_VAL(ISD::OR),
       OPC_Scope, 58,
        OPC_CheckChild0Same, 1,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 10|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       58,
        OPC_RecordChild0,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 12|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      53|128,1, TARGET_VAL(ISD::XOR),
       OPC_Scope, 58,
        OPC_CheckChild0Same, 1,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       59,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       59,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      0,
     63,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 26|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     63,
      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::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 26|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    3|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 57,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 46|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     57,
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 78|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    67|128,3,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 55|128,2,
      OPC_MoveChild0,
      OPC_SwitchOpcode , 120, TARGET_VAL(ISD::OR),
       OPC_Scope, 58,
        OPC_CheckChild0Same, 1,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 10|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       58,
        OPC_RecordChild0,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 12|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      53|128,1, TARGET_VAL(ISD::XOR),
       OPC_Scope, 58,
        OPC_CheckChild0Same, 1,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       59,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       59,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 26|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     63,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 26|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     63,
      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::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 26|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    3|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 57,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 46|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     57,
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 78|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    114|128,10,
     OPC_RecordChild0,
     OPC_Scope, 103|128,8,
      OPC_RecordChild1,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 57|128,4, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 24,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 38|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       40,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_Scope, 12,
         OPC_EmitIntegerI32, 70|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        12,
         OPC_EmitIntegerI32, 38|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       77,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 13, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 70|128,1,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        49, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 38|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       60,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 70|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 38|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       113,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 49, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 70|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        49, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 38|128,1,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       60,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 70|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 38|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       60,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 70|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      30|128,4, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_Scope, 27,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 22,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       40,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 22,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       1|128,1,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 12, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 22,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        48, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 22,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        48, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 22,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       103,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 22,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 22,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       63,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 22,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       103,
        OPC_CheckChild0Same, 2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 22,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 22,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       63,
        OPC_CheckChild0Same, 1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_CheckChild0Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 22,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     4|128,2,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 29, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_Scope, 12,
        OPC_EmitIntegerI32, 44|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       12,
        OPC_EmitIntegerI32, 74|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      29, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_Scope, 12,
        OPC_EmitIntegerI32, 44|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       12,
        OPC_EmitIntegerI32, 74|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      90, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 44|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 74|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      90, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 44|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 74|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     0,
    19|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 53, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 19, TARGET_VAL(ISD::AND),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      20, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      0,
     53, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 19, TARGET_VAL(ISD::AND),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      20, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      0,
     29, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    61,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 23, TARGET_VAL(ISD::OR),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 6|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     23, TARGET_VAL(ISD::AND),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 102|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    19|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 53, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 19, TARGET_VAL(ISD::AND),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      20, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     53, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 19, TARGET_VAL(ISD::AND),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 25,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      20, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     29, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    33,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 6|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   89|128,25, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 74|128,12, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_Scope, 7|128,2,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveSibling1,
      OPC_Scope, 38|128,1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_SwitchOpcode , 74, TARGET_VAL(ISD::AND),
        OPC_Scope, 18,
         OPC_RecordChild0,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 26,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        33,
         OPC_CheckChild0Same, 1,
         OPC_RecordChild1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_Scope, 11,
          OPC_EmitIntegerI32, 28,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         11,
          OPC_EmitIntegerI32, 26,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        18,
         OPC_RecordChild0,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 28,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        0,
       78, TARGET_VAL(ISD::OR),
        OPC_Scope, 19,
         OPC_RecordChild0,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 122|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        35,
         OPC_CheckChild0Same, 1,
         OPC_RecordChild1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_Scope, 12,
          OPC_EmitIntegerI32, 124|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 1, 2, 3,
         12,
          OPC_EmitIntegerI32, 122|128,0,
          OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v2i64, 4, 0, 2, 1, 3,
         0,
        19,
         OPC_RecordChild0,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i64,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 124|128,0,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        0,
       0,
      89,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v2i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 19,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 22,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       32,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 22,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       19,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 22,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      0,
     27|128,5,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveSibling1,
      OPC_Scope, 50|128,3,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_SwitchOpcode , 79|128,1, TARGET_VAL(ISD::AND),
        OPC_Scope, 54,
         OPC_RecordChild0,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 26,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        94,
         OPC_CheckChild0Same, 1,
         OPC_RecordChild1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 28,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        54,
         OPC_RecordChild0,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 28,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       83|128,1, TARGET_VAL(ISD::OR),
        OPC_Scope, 55,
         OPC_RecordChild0,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 122|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        96,
         OPC_CheckChild0Same, 1,
         OPC_RecordChild1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 124|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 122|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v8i16, 2, 10, 11,
         0,
        55,
         OPC_RecordChild0,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 124|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       0,
      96|128,1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 55,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 22,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       95,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 22,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 22,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       55,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 22,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      0,
     27|128,5,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveSibling1,
      OPC_Scope, 50|128,3,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_SwitchOpcode , 79|128,1, TARGET_VAL(ISD::AND),
        OPC_Scope, 54,
         OPC_RecordChild0,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 26,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        94,
         OPC_CheckChild0Same, 1,
         OPC_RecordChild1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 28,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         36,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 26,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        54,
         OPC_RecordChild0,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 28,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       83|128,1, TARGET_VAL(ISD::OR),
        OPC_Scope, 55,
         OPC_RecordChild0,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 122|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        96,
         OPC_CheckChild0Same, 1,
         OPC_RecordChild1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_Scope, 37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 7,
          OPC_EmitIntegerI32, 124|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         37,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 2, 5,
          OPC_EmitIntegerI32, PPC::VSRCRegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v4i32, 2, 1, 7,
          OPC_EmitIntegerI32, 122|128,0,
          OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                          MVT::v4i32, 4, 4, 6, 8, 9,
          OPC_EmitIntegerI32, PPC::VRRCRegClassID,
          OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::v16i8, 2, 10, 11,
         0,
        55,
         OPC_RecordChild0,
         OPC_CheckChild1Same, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 0, 3,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 124|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       0,
      96|128,1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 55,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 22,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       95,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 22,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 22,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       55,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 22,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     0,
    71|128,8, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_Scope, 50|128,1,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 78, TARGET_VAL(ISD::XOR),
       OPC_Scope, 20,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       33,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       20,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      78, TARGET_VAL(ISD::OR),
       OPC_Scope, 20,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       33,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       20,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      0,
     68|128,3,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 86|128,1, TARGET_VAL(ISD::XOR),
       OPC_Scope, 56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       97,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 97|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 97|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      86|128,1, TARGET_VAL(ISD::OR),
       OPC_Scope, 56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       97,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 113|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 113|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      0,
     68|128,3,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 86|128,1, TARGET_VAL(ISD::XOR),
       OPC_Scope, 56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       97,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 97|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 97|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      86|128,1, TARGET_VAL(ISD::OR),
       OPC_Scope, 56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       97,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 113|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 113|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     0,
    57|128,4, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_Scope, 95,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 20,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      33,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      20,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     103|128,1,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 56,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      97,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 103|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 103|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      56,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     103|128,1,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 56,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      97,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 103|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 103|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      56,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     0,
    0,
   72|128,13, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_SwitchOpcode , 16|128,13, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 92|128,8, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 24,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 33|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      40,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_Scope, 12,
        OPC_EmitIntegerI32, 65|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       12,
        OPC_EmitIntegerI32, 33|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      77,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 13, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 65|128,1,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       49, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 33|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      60,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 65|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      60,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 33|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      113,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 49, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 65|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       49, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 33|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      60,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 65|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      60,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 33|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      60,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 65|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      28,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 97|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      41,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 97|128,0,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      4|128,1,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 13, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       49, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       49, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      105,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 97|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      105,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 97|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     41|128,4, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_Scope, 28,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 113|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      41,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 113|128,0,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      4|128,1,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 13, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       49, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       49, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      105,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 113|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      105,
       OPC_CheckChild0Same, 2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      64,
       OPC_CheckChild0Same, 1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_CheckChild0Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 113|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     0,
    44, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 13, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     13, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    0,
   52|128,9, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_SwitchOpcode , 96|128,8, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_Scope, 24,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 39|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     40,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 12,
       OPC_EmitIntegerI32, 71|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      12,
       OPC_EmitIntegerI32, 39|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     77,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 71|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      49, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 39|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     60,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 71|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     60,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 39|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     113,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 49, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 71|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      49, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 39|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     60,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 71|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     60,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 39|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     60,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 71|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     28,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 103|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     41,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 103|128,0,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     4|128,1,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      49, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      49, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     105,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     64,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 103|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     105,
      OPC_CheckChild0Same, 2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 103|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     64,
      OPC_CheckChild0Same, 1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_CheckChild0Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 103|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    72, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 40, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      13, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     23, TARGET_VAL(ISD::AND),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 103|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    0,
   0,
  54,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_MoveSibling1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 12,
    OPC_EmitIntegerI32, 35|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   12,
    OPC_EmitIntegerI32, 69|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   0,
  127|128,24,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 107|128,16, TARGET_VAL(ISD::XOR),
    OPC_Scope, 33,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 102|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    98|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 64, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 32,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      19,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      0,
     24|128,1, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 63,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 32,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 2, 1, 3,
        0,
       19,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      84,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 19,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       32,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 2, 1, 3,
        0,
       19,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      0,
     0,
    89,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 19,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 25,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     32,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 25,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      0,
     19,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 25,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    105|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 66, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 33,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      20,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      0,
     29|128,1, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 65,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_Scope, 33,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 2, 1, 3,
        0,
       20,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      87,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_Scope, 20,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       33,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 0, 2, 1, 3,
        0,
       20,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      0,
     0,
    92,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_Scope, 20,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     33,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      0,
     20,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    70,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_Scope, 33,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      0,
     20,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     0,
    13|128,1,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 63, TARGET_VAL(ISD::OR),
      OPC_Scope, 36,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 6|128,1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      23,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 6|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      0,
     63, TARGET_VAL(ISD::AND),
      OPC_Scope, 36,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 102|128,1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      23,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 102|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      0,
     0,
    98|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 64, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 32,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      19,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 24,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     24|128,1, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 63,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 32,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       19,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      84,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 19,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       32,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       19,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 25,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      0,
     0,
    89,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 19,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 25,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     32,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 25,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     19,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 25,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    105|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 66, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 33,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      20,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     29|128,1, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 65,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_Scope, 33,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       20,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      87,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_Scope, 20,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       33,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_Scope, 9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 1, 2, 3,
        9,
         OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v2i64, 4, 0, 2, 1, 3,
        0,
       20,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      0,
     0,
    92,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_Scope, 20,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     33,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     20,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    70,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_Scope, 33,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     20,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    13|128,1,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 63, TARGET_VAL(ISD::OR),
      OPC_Scope, 36,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 6|128,1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      23,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 6|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     63, TARGET_VAL(ISD::AND),
      OPC_Scope, 36,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 102|128,1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      23,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 102|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     0,
    71|128,2,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 125, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 55, TARGET_VAL(ISD::AND),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 24,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      56, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     125, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 55, TARGET_VAL(ISD::AND),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 25,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      56, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     65, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    69,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 6|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   74|128,6, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 108,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 23, TARGET_VAL(ISD::AND),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 103|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     76, TARGET_VAL(ISD::XOR),
      OPC_Scope, 23,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      24,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      24,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      0,
     0,
    28,
     OPC_CheckChild0Same, 2,
     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_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    28,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    104,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 23,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     23,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     24,
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     24,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     0,
    28,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    28,
     OPC_CheckChild0Same, 2,
     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_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    20|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 63, TARGET_VAL(ISD::AND),
      OPC_Scope, 36,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      23,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      0,
     76, TARGET_VAL(ISD::XOR),
      OPC_Scope, 23,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      24,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      24,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      0,
     0,
    28,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    28,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    104,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 23,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     23,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     24,
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     24,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    28,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    28,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    3|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 63, TARGET_VAL(ISD::AND),
      OPC_Scope, 36,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      23,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     59, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    0,
   59|128,1, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_Scope, 36,
     OPC_CheckChild0Same, 2,
     OPC_CheckChild1Same, 1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1|128,1,
     OPC_Scope, 9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     0,
    23,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    36,
     OPC_CheckChild0Same, 2,
     OPC_CheckChild1Same, 1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1|128,1,
     OPC_Scope, 9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    76,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 13, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     49, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    0,
   0,
  115,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_MoveSibling1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 0, 3,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_Scope, 37,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 35|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   37,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 69|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   0,
  47|128,5,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 87|128,3, TARGET_VAL(ISD::XOR),
    OPC_Scope, 69,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 102|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    71|128,2,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 125, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 55, TARGET_VAL(ISD::AND),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 24,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      56, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     125, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 55, TARGET_VAL(ISD::AND),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 25,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      56, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     65, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    69,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 6|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   5|128,1, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 59, TARGET_VAL(ISD::AND),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 103|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    59, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   69, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_CheckChild0Same, 1,
    OPC_CheckChild1Same, 2,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 1|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   0,
  115,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_MoveSibling1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4i32, 2, 0, 3,
   OPC_EmitIntegerI32, PPC::VSRCRegClassID,
   OPC_Scope, 37,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 35|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   37,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 69|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   0,
  116|128,50,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 70|128,33, TARGET_VAL(ISD::XOR),
    OPC_Scope, 69,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 102|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    50|128,4,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 35|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 95,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 36,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       36,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      55,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 24,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     4|128,3, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 34|128,1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 95,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       55,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 25,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      91|128,1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 55,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 25,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       95,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       55,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 25,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      0,
     0,
    96|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 55,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 25,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     95,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 36,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 25,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      36,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 25,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     55,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 25,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    60|128,4,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 38|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 97,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 104|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 104|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      56,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     11|128,3, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 37|128,1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_Scope, 97,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      95|128,1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_Scope, 56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       97,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v8i16, 2, 10, 11,
        0,
       56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      0,
     0,
    100|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_Scope, 56,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     97,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     56,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    42|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_Scope, 97,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 126|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 126|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     56,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    87|128,2,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 35|128,1, TARGET_VAL(ISD::OR),
      OPC_Scope, 100,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 6|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 6|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      59,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 6|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     35|128,1, TARGET_VAL(ISD::AND),
      OPC_Scope, 100,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 102|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 102|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      59,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 102|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     0,
    50|128,4,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 35|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 95,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 36,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 24,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       36,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 24,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      55,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 24,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     4|128,3, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 34|128,1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 95,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       55,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 25,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      91|128,1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_Scope, 55,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 25,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       95,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        36,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 25,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       55,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 25,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     0,
    96|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 55,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 25,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     95,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 36,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 25,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      36,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 25,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     55,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 25,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    60|128,4,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 38|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 97,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 104|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 104|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      56,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 104|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     11|128,3, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_Scope, 37|128,1,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_Scope, 97,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      95|128,1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_Scope, 56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       97,
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_Scope, 37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        37,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 2, 5,
         OPC_EmitIntegerI32, PPC::VSRCRegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v4i32, 2, 1, 7,
         OPC_EmitIntegerI32, 121|128,0,
         OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                         MVT::v4i32, 4, 4, 6, 8, 9,
         OPC_EmitIntegerI32, PPC::VRRCRegClassID,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::v16i8, 2, 10, 11,
        0,
       56,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Same, 2,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 121|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      0,
     0,
    100|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_Scope, 56,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     97,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 121|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     56,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 121|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    42|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_Scope, 97,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 126|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 126|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     56,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 126|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    87|128,2,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 35|128,1, TARGET_VAL(ISD::OR),
      OPC_Scope, 100,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 6|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 6|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      59,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 6|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     35|128,1, TARGET_VAL(ISD::AND),
      OPC_Scope, 100,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 102|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 102|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      59,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 102|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     0,
    0,
   20|128,14, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 125|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 59, TARGET_VAL(ISD::AND),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 103|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     56|128,1, TARGET_VAL(ISD::XOR),
      OPC_Scope, 59,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      60,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      60,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     0,
    64,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    64,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    120|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 59,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     59,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     60,
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     60,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    64,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    64,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    102|128,2,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 35|128,1, TARGET_VAL(ISD::AND),
      OPC_Scope, 100,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 103|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 103|128,1,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      59,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     56|128,1, TARGET_VAL(ISD::XOR),
      OPC_Scope, 59,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveSibling1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      60,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      60,
       OPC_CheckChild0Same, 2,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 23|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     0,
    64,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    64,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    120|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 59,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     59,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     60,
      OPC_CheckChild0Same, 2,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     60,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 2,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 23|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    64,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    64,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 23|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    39|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 100,
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_Scope, 37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      37,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 103|128,1,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     59,
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Same, 2,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 103|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    0,
   78|128,2, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_Scope, 100,
     OPC_CheckChild0Same, 2,
     OPC_CheckChild1Same, 1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_Scope, 37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    59,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 1|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    100,
     OPC_CheckChild0Same, 2,
     OPC_CheckChild1Same, 1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_Scope, 37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 1|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    59,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 1|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   58, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 14,
     OPC_CheckChild2Same, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 49,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    15,
     OPC_CheckChild2Same, 2,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 81|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   0,
  18|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 66, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_Scope, 29,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 99|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    29,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 101|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   66, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_Scope, 29,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 115|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    29,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 117|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   0,
  62,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_Scope, 14,
    OPC_CheckChild2Same, 2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 49,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   15,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 81|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   0,
  18|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 66, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_Scope, 29,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 99|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    29,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 101|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   66, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_Scope, 29,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 115|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    29,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 117|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   0,
  6|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_Scope, 50,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 49,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   51,
    OPC_CheckChild2Same, 2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 81|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   0,
  36|128,2,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 10|128,1, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_Scope, 65,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 99|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    65,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 101|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   10|128,1, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_Scope, 65,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 115|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    65,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 117|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   0,
  6|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 50,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 49,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   51,
    OPC_CheckChild2Same, 2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 81|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   0,
  36|128,2,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 10|128,1, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_Scope, 65,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 99|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    65,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 101|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   10|128,1, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_Scope, 65,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 115|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    65,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 117|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   0,
  6|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_Scope, 50,
    OPC_CheckChild2Same, 2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 49,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   51,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 81|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   0,
  36|128,2,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 10|128,1, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_Scope, 65,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 99|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    65,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 101|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   10|128,1, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_Scope, 65,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 115|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    65,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 117|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   0,
  6|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 50,
    OPC_CheckChild2Same, 2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 49,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   51,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 81|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   0,
  36|128,2,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 10|128,1, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_Scope, 65,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 99|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    65,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 101|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   10|128,1, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_Scope, 65,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_CheckChild0Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 115|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    65,
     OPC_CheckChild0Same, 1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 117|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   0,
  115|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 48,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 18,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    18,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 28,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    0,
   7|128,1,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 41, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 14,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 56,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 88|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    41, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 14,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 57,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    41, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 14,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 62,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 94|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    0,
   50,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_Scope, 19,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 122|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    19,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 124|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    0,
   0,
  57,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 22,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   22,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 0, 2, 1, 3,
   0,
  40|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 52, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    0,
   52, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    0,
   52, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    0,
   0,
  57,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 22,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 99|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   22,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 101|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 0, 2, 1, 3,
   0,
  115|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 48,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 18,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    18,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 28,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   7|128,1,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 41, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 14,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 56,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 88|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    41, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 14,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 57,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    41, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 14,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 62,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 94|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    0,
   50,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_Scope, 19,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 122|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    19,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 124|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   0,
  57,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 22,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   22,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   0,
  40|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 52, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   52, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   52, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   0,
  57,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 22,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 99|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   22,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 101|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   0,
  69|128,3,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 48,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 18,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    18,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 28,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    0,
   97,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 22, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 56,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    66, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_Scope, 21,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 57,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     40,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 14,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 57,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      14,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 57,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      0,
     0,
    0,
   45,
    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_Scope, 14,
     OPC_CheckChild2Same, 2,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 57,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    14,
     OPC_CheckChild2Same, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 57,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    0,
   126,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 22, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 62,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    23, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild2Same, 1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 88|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    69, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_Scope, 22,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     42,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 1, 2, 3,
      15,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      0,
     0,
    0,
   47,
    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_Scope, 15,
     OPC_CheckChild2Same, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 89|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    15,
     OPC_CheckChild2Same, 2,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 89|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    0,
   27,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild2Same, 1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 94|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 0, 2, 1, 3,
   50,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_Scope, 19,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 122|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    19,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 124|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    0,
   0,
  57,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 22,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   22,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 0, 2, 1, 3,
   0,
  40|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 52, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    0,
   52, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    0,
   52, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    0,
   0,
  57,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 22,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 99|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   22,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 101|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 0, 2, 1, 3,
   0,
  69|128,3,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 48,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 18,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    18,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 28,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   97,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 22, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 56,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    66, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_Scope, 21,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 57,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     40,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 14,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 57,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      14,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 57,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     0,
    0,
   45,
    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::v2i64,
    OPC_Scope, 14,
     OPC_CheckChild2Same, 2,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 57,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    14,
     OPC_CheckChild2Same, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 57,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   126,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 22, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 62,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    23, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild2Same, 1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 88|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    69, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_Scope, 22,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 1,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     42,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 1, 2, 3,
      15,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v2i64, 4, 0, 2, 1, 3,
      0,
     0,
    0,
   47,
    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::v2i64,
    OPC_Scope, 15,
     OPC_CheckChild2Same, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 89|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    15,
     OPC_CheckChild2Same, 2,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 89|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   27,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild2Same, 1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 94|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   50,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_Scope, 19,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 122|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    19,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 124|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   0,
  57,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 22,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   22,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   0,
  40|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 52, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   52, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   52, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    21,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   0,
  57,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 22,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 99|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   22,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 101|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   0,
  91|128,4,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 120,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 54,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 26,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    54,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 28,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   95|128,2,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 113, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 56,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 88|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    113, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 57,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    113, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 62,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 94|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    0,
   122,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_Scope, 55,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 122|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    55,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 124|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   0,
  1|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 58,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   58,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   0,
  0|128,3,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 124, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   124, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   124, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   0,
  1|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 58,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 99|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   58,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 101|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   0,
  91|128,4,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 120,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 54,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 26,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    54,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 28,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   95|128,2,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 113, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 56,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 88|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    113, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 57,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    113, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 50,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 62,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     51,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 94|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    0,
   122,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_Scope, 55,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 122|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    55,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 124|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   0,
  1|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 58,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   58,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   0,
  0|128,3,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 124, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   124, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   124, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   0,
  1|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 58,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 99|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   58,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 101|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   0,
  81|128,8,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 120,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 54,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 26,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    54,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 28,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   114|128,1,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 58, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    46|128,1, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_Scope, 57,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 57,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     112,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_Scope, 50,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 57,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      50,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 57,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     0,
    0,
   117,
    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::v8i16,
    OPC_Scope, 50,
     OPC_CheckChild2Same, 2,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 57,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    50,
     OPC_CheckChild2Same, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 57,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   51|128,2,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 58, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 62,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    59, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild2Same, 1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 88|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    49|128,1, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_Scope, 58,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     114,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_Scope, 51,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      51,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      0,
     0,
    0,
   119,
    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::v8i16,
    OPC_Scope, 51,
     OPC_CheckChild2Same, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 89|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    51,
     OPC_CheckChild2Same, 2,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 89|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   63,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild2Same, 1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 94|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   122,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_Scope, 55,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 122|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    55,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 124|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   0,
  1|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 58,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   58,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   0,
  0|128,3,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 124, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   124, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   124, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   0,
  1|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 58,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 99|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   58,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 101|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   0,
  81|128,8,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 120,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 54,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 26,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    54,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 28,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   114|128,1,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 58, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 56,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    46|128,1, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_Scope, 57,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 57,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     112,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_Scope, 50,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 57,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      50,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 57,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     0,
    0,
   117,
    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::v16i8,
    OPC_Scope, 50,
     OPC_CheckChild2Same, 2,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 57,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    50,
     OPC_CheckChild2Same, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 57,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   51|128,2,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 58, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 62,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    59, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild2Same, 1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 88|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    49|128,1, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_Scope, 58,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 1,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 89|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     114,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_Scope, 51,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 7,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      51,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 89|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     0,
    0,
   119,
    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::v16i8,
    OPC_Scope, 51,
     OPC_CheckChild2Same, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 89|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    51,
     OPC_CheckChild2Same, 2,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 89|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   63,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild2Same, 1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 94|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   122,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_Scope, 55,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 122|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    55,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 124|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   0,
  1|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 58,
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 3|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   58,
    OPC_CheckChild0Same, 1,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   0,
  0|128,3,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 124, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 33|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 65|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   124, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 38|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 70|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   124, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 57,
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 39|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    57,
     OPC_CheckChild0Same, 2,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 71|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   0,
  3|128,3,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 124,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 58,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 99|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    58,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 101|128,1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   125|128,1,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 29, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_EmitIntegerI32, 35|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     12,
      OPC_EmitIntegerI32, 69|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     0,
    29, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_EmitIntegerI32, 35|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     12,
      OPC_EmitIntegerI32, 69|128,1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    90, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_Scope, 37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 35|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 69|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    90, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_Scope, 37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 35|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 69|128,1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    0,
   0,
  19|128,18,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 44|128,4, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 35,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 22,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     12, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 22,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    32,
     OPC_CheckChild0Same, 2,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 22,
     OPC_Scope, 9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     0,
    19,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 22,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    32,
     OPC_CheckChild0Same, 2,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 22,
     OPC_Scope, 9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    121,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 22,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     48, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 22,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     48, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 22,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    95,
     OPC_CheckChild0Same, 2,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_Scope, 36,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 22,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     36,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 22,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    55,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 22,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    95,
     OPC_CheckChild0Same, 2,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_Scope, 36,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 22,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     36,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 22,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    55,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 22,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   30|128,9, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 115|128,8,
     OPC_MoveSibling2,
     OPC_SwitchOpcode , 52|128,4, TARGET_VAL(ISD::XOR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_SwitchType , 13, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       13, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       0,
      33,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 97|128,0,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      20,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 97|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      33,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 97|128,0,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      124,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_SwitchType , 13, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       49, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       49, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      97,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      56,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 97|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      97,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 97|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      56,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 97|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     52|128,4, TARGET_VAL(ISD::OR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_SwitchType , 13, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       13, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       0,
      33,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 113|128,0,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 0, 2, 1, 3,
       0,
      20,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 113|128,0,
       OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 0, 2, 1, 3,
      33,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 113|128,0,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       0,
      124,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_SwitchType , 13, MVT::v2i64,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v2i64, 4, 0, 2, 1, 3,
       49, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       49, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      97,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v8i16, 2, 10, 11,
       0,
      56,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 113|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v8i16, 2, 10, 11,
      97,
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_Scope, 37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       37,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 2, 5,
        OPC_EmitIntegerI32, PPC::VSRCRegClassID,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v4i32, 2, 1, 7,
        OPC_EmitIntegerI32, 113|128,0,
        OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                        MVT::v4i32, 4, 4, 6, 8, 9,
        OPC_EmitIntegerI32, PPC::VRRCRegClassID,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                        MVT::v16i8, 2, 10, 11,
       0,
      56,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Same, 2,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 0, 3,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 2, 5,
       OPC_EmitIntegerI32, PPC::VSRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v4i32, 2, 1, 7,
       OPC_EmitIntegerI32, 113|128,0,
       OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                       MVT::v4i32, 4, 4, 6, 8, 9,
       OPC_EmitIntegerI32, PPC::VRRCRegClassID,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::v16i8, 2, 10, 11,
      0,
     0,
    36,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 14,
      OPC_CheckChild2Same, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 49,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 81|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    0,
   58|128,4, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 37,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveParent,
     OPC_SwitchType , 13, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 103|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     13, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 103|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    33,
     OPC_CheckChild0Same, 2,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 103|128,0,
     OPC_Scope, 9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 0, 2, 1, 3,
     0,
    20,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 103|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    33,
     OPC_CheckChild0Same, 2,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 103|128,0,
     OPC_Scope, 9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     0,
    124,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveParent,
     OPC_SwitchType , 13, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 103|128,0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v2i64, 4, 0, 2, 1, 3,
     49, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 103|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     49, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 103|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    97,
     OPC_CheckChild0Same, 2,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_Scope, 37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 103|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 103|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 10, 11,
     0,
    56,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 103|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    97,
     OPC_CheckChild0Same, 2,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_Scope, 37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 103|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     37,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 103|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    56,
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Same, 2,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 103|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   0,
  94,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 42, TARGET_VAL(ISD::XOR),
    OPC_Scope, 19,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 99|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    19,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 101|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    0,
   42, TARGET_VAL(ISD::OR),
    OPC_Scope, 19,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 115|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    19,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 117|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    0,
   0,
  42,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_Scope, 14,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 49,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   15,
    OPC_CheckChild2Same, 2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 81|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  94,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 42, TARGET_VAL(ISD::XOR),
    OPC_Scope, 19,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 99|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    19,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 101|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   42, TARGET_VAL(ISD::OR),
    OPC_Scope, 19,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 115|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    19,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 117|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   0,
  42,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_Scope, 14,
    OPC_CheckChild2Same, 2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 49,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 0, 2, 1, 3,
   15,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 81|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 0, 2, 1, 3,
   0,
  94,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 42, TARGET_VAL(ISD::XOR),
    OPC_Scope, 19,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 99|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    19,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 101|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    0,
   42, TARGET_VAL(ISD::OR),
    OPC_Scope, 19,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 115|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    19,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 117|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 0, 2, 1, 3,
    0,
   0,
  42,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_Scope, 14,
    OPC_CheckChild2Same, 2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 49,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   15,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 81|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v2i64, 4, 0, 2, 1, 3,
   0,
  94,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 42, TARGET_VAL(ISD::XOR),
    OPC_Scope, 19,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 99|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    19,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 101|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   42, TARGET_VAL(ISD::OR),
    OPC_Scope, 19,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 115|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    19,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 117|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v2i64, 4, 0, 2, 1, 3,
    0,
   0,
  114,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_Scope, 50,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 49,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   51,
    OPC_CheckChild2Same, 2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 81|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   0,
  110|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 114, TARGET_VAL(ISD::XOR),
    OPC_Scope, 55,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 99|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    55,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 101|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   114, TARGET_VAL(ISD::OR),
    OPC_Scope, 55,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 115|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    55,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 117|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   0,
  114,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 50,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 49,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   51,
    OPC_CheckChild2Same, 2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 7,
    OPC_EmitIntegerI32, 81|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   0,
  110|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 114, TARGET_VAL(ISD::XOR),
    OPC_Scope, 55,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 99|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    55,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 101|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   114, TARGET_VAL(ISD::OR),
    OPC_Scope, 55,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 115|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    55,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 117|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 10, 11,
    0,
   0,
  114,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_Scope, 50,
    OPC_CheckChild2Same, 2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 49,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   51,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 81|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i16, 2, 10, 11,
   0,
  110|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 114, TARGET_VAL(ISD::XOR),
    OPC_Scope, 55,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 99|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    55,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 101|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   114, TARGET_VAL(ISD::OR),
    OPC_Scope, 55,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 7,
     OPC_EmitIntegerI32, 115|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    55,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 2, 5,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 7,
     OPC_EmitIntegerI32, 117|128,0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                     MVT::v4i32, 4, 4, 6, 8, 9,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 10, 11,
    0,
   0,
  114,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 50,
    OPC_CheckChild2Same, 2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 49,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   51,
    OPC_CheckChild2Same, 1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 0, 3,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 2, 5,
    OPC_EmitIntegerI32, PPC::VSRCRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i32, 2, 1, 7,
    OPC_EmitIntegerI32, 81|128,0,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                    MVT::v4i32, 4, 4, 6, 8, 9,
    OPC_EmitIntegerI32, PPC::VRRCRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i8, 2, 10, 11,
   0,
  17|128,4,
   OPC_RecordChild1,
   OPC_Scope, 109|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 114, TARGET_VAL(ISD::XOR),
     OPC_Scope, 55,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 99|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     55,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 101|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    114, TARGET_VAL(ISD::OR),
     OPC_Scope, 55,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 7,
      OPC_EmitIntegerI32, 115|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     55,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 7,
      OPC_EmitIntegerI32, 117|128,0,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXEVAL),
                      MVT::v4i32, 4, 4, 6, 8, 9,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 10, 11,
     0,
    0,
   29|128,2,
    OPC_RecordChild2,
    OPC_SwitchType , 22, MVT::v4i32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
                      MVT::v4i32, 3, 2, 1, 0,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
                      MVT::v4i32, 3, 2, 1, 0,
     0,
    22, MVT::v2i64,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
                      MVT::v2i64, 3, 2, 1, 0,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
                      MVT::v2i64, 3, 2, 1, 0,
     0,
    58, MVT::v16i8,
     OPC_Scope, 45,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSEL),
                      MVT::v4i32, 3, 4, 6, 8,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 9, 10,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
                      MVT::v16i8, 3, 2, 1, 0,
     0,
    58, MVT::v8i16,
     OPC_Scope, 45,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSEL),
                      MVT::v4i32, 3, 4, 6, 8,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 9, 10,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
                      MVT::v8i16, 3, 2, 1, 0,
     0,
    58, MVT::v1i128,
     OPC_Scope, 45,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i32, 2, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXSEL),
                      MVT::v4i32, 3, 4, 6, 8,
      OPC_EmitIntegerI32, PPC::VRRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v1i128, 2, 9, 10,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
                      MVT::v1i128, 3, 2, 1, 0,
     0,
    24, 4|128,1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
                      4|128,1, 3, 2, 1, 0,
     10,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
                      4|128,1, 3, 2, 1, 0,
     0,
    24, 22|128,1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
                      22|128,1, 3, 2, 1, 0,
     10,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
                      22|128,1, 3, 2, 1, 0,
     0,
    0,
   0,
  0,
 44|128,18, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
  OPC_Scope, 93|128,11,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 27|128,5, TARGET_VAL(PPCISD::MFVSR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 2|128,1, TARGET_VAL(PPCISD::FCTIDZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate, 11,
     OPC_Scope, 27,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVDPSXDS),
                      MVT::v2i64, 1, 4,
     89,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 36,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 2, 3,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 4, 5,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXDS),
                       MVT::f64, 1, 6,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                       MVT::v2i64, 2, 7, 8,
      37,
       OPC_CheckPatternPredicate, 37,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 2, 3,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 4, 5,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXDS),
                       MVT::f64, 1, 6,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                       MVT::v2i64, 2, 7, 8,
      0,
     0,
    2|128,1, TARGET_VAL(PPCISD::FCTIDUZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate, 11,
     OPC_Scope, 27,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVDPUXDS),
                      MVT::v2i64, 1, 4,
     89,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 36,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 2, 3,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 4, 5,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXDS),
                       MVT::f64, 1, 6,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                       MVT::v2i64, 2, 7, 8,
      37,
       OPC_CheckPatternPredicate, 37,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 2, 3,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 4, 5,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXDS),
                       MVT::f64, 1, 6,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                       MVT::v2i64, 2, 7, 8,
      0,
     0,
    66|128,1, TARGET_VAL(PPCISD::FCTIWZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate, 11,
     OPC_Scope, 30,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVWSX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSPSXWS),
                      MVT::v4i32, 1, 4,
     48,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXWS),
                      MVT::f64, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 4, 6, 7,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
                      MVT::v4i32, 2, 8, 9,
     51,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 2, 3,
      OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXWSs),
                      MVT::f32, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 4, 6, 7,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
                      MVT::v4i32, 2, 8, 9,
     49,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 37,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXWS),
                      MVT::f64, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 4, 6, 7,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
                      MVT::v4i32, 2, 8, 9,
     0,
    66|128,1, TARGET_VAL(PPCISD::FCTIWUZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate, 11,
     OPC_Scope, 30,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVWSX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSPUXWS),
                      MVT::v4i32, 1, 4,
     48,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXWS),
                      MVT::f64, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 4, 6, 7,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
                      MVT::v4i32, 2, 8, 9,
     51,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 2, 3,
      OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXWSs),
                      MVT::f32, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 4, 6, 7,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
                      MVT::v4i32, 2, 8, 9,
     49,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 37,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXWS),
                      MVT::f64, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 4, 6, 7,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
                      MVT::v4i32, 2, 8, 9,
     0,
    0,
   83, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 11,
    OPC_CheckPredicate, 9,
    OPC_CheckPredicate1,
    OPC_MoveSibling1,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_SwitchType , 30, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSB2Ws),
                     MVT::f64, 1, 4,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXSPLTWs),
                     MVT::v4i32, 2, 5, 6,
    30, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSB2Ds),
                     MVT::f64, 1, 4,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                     MVT::v2i64, 2, 5, 6,
    0,
   97|128,5, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 11,
    OPC_Scope, 27,
     OPC_CheckPredicate5,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 31,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXSLDWIs),
                     MVT::v4i32, 2, 4, 5,
    32,
     OPC_CheckPredicate, 18,
     OPC_CheckPredicate7,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 35,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v2i64, 3, 4, 5, 6,
    32,
     OPC_CheckPredicate, 14,
     OPC_CheckPredicate7,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 35,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v2i64, 3, 4, 5, 6,
    29,
     OPC_CheckPredicate, 18,
     OPC_CheckPredicate7,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 24,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                     MVT::v2i64, 2, 4, 5,
    29,
     OPC_CheckPredicate, 14,
     OPC_CheckPredicate7,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 24,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                     MVT::v2i64, 2, 4, 5,
    27,
     OPC_CheckPredicate5,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 24,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                     MVT::v4i32, 2, 4, 5,
    13|128,1,
     OPC_CheckPredicate, 14,
     OPC_Scope, 80,
      OPC_CheckPredicate1,
      OPC_SwitchType , 49, MVT::i32,
       OPC_MoveParent,
       OPC_SwitchType , 21, MVT::v8i16,
        OPC_CheckPatternPredicate7,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 3,
        OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f64, 2, 2, 3,
        OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTHs),
                        MVT::v8i16, 2, 4, 5,
       21, MVT::v4i32,
        OPC_CheckPatternPredicate7,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f64, 2, 2, 3,
        OPC_EmitIntegerI32, 1,
        OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXSPLTWs),
                        MVT::v4i32, 2, 4, 5,
       0,
      24, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                       MVT::v2i64, 2, 4, 5,
      0,
     55,
      OPC_CheckPredicate0,
      OPC_SwitchType , 24, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 2, 3,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXSPLTWs),
                       MVT::v4i32, 2, 4, 5,
      24, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 2, 3,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                       MVT::v2i64, 2, 4, 5,
      0,
     0,
    113,
     OPC_CheckPredicate, 9,
     OPC_CheckTypeI32,
     OPC_Scope, 26,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 60,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 7,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTBs),
                      MVT::v16i8, 2, 4, 5,
     26,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 60,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTHs),
                      MVT::v8i16, 2, 4, 5,
     26,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 7,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTBs),
                      MVT::v16i8, 2, 4, 5,
     26,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 3,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTHs),
                      MVT::v8i16, 2, 4, 5,
     0,
    55,
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 25,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v2i64, 3, 4, 5, 6,
     21,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitIntegerI32, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                      MVT::v2i64, 2, 4, 5,
     0,
    59,
     OPC_CheckPredicate, 9,
     OPC_CheckTypeI32,
     OPC_Scope, 26,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 41,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVRHX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 4, 5,
     26,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 41,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVRBX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 4, 5,
     0,
    104,
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 22,
      OPC_CheckPatternPredicate, 51,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitIntegerI32, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                      MVT::v2i64, 2, 4, 5,
     25,
      OPC_CheckPatternPredicate, 42,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v2i64, 3, 4, 5, 6,
     25,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v2i64, 3, 4, 5, 6,
     21,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitIntegerI32, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                      MVT::v2i64, 2, 4, 5,
     0,
    69,
     OPC_CheckPredicate, 18,
     OPC_CheckPredicate0,
     OPC_SwitchType , 30, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSH2Ws),
                      MVT::f64, 1, 4,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXSPLTWs),
                      MVT::v4i32, 2, 5, 6,
     30, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSH2Ds),
                      MVT::f64, 1, 4,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                      MVT::v2i64, 2, 5, 6,
     0,
    0,
   0,
  18|128,4,
   OPC_RecordChild0,
   OPC_Scope, 59|128,3,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 15|128,1, MVT::v4i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate7,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRWS),
                      MVT::v4i32, 1, 0,
     47,
      OPC_CheckPatternPredicate, 43,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_EmitIntegerI32, 32,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                      MVT::i64, 3, 4, 5, 6,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 7,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 1, 8, 9,
     84,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 4,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 1, 5, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 11,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 8, 12, 13,
      OPC_EmitIntegerI32, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 7, 14, 15,
     0,
    16|128,1, MVT::v16i8,
     OPC_Scope, 47,
      OPC_CheckPatternPredicate, 43,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_EmitIntegerI32, 56,
      OPC_EmitIntegerI32, 7,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                      MVT::i64, 3, 4, 5, 6,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 7,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 1, 8, 9,
     93,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 4,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 1, 5, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 11,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 8, 12, 13,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 7, 14, 15,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 16, 17,
     0,
    16|128,1, MVT::v8i16,
     OPC_Scope, 47,
      OPC_CheckPatternPredicate, 43,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_EmitIntegerI32, 48,
      OPC_EmitIntegerI32, 15,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
                      MVT::i64, 3, 4, 5, 6,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 7,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8i16, 3, 1, 8, 9,
     93,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 4,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 1, 5, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 11,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 8, 12, 13,
      OPC_EmitIntegerI32, 2,
      OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                      MVT::v4i32, 3, 7, 14, 15,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 16, 17,
     0,
    0,
   81,
    OPC_CheckChild0TypeI64,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate, 43,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                     MVT::f64, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v2i64, 3, 1, 2, 3,
    54,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                     MVT::f64, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 1, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                     MVT::f64, 1, 0,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v2i64, 3, 4, 8, 9,
    0,
   0,
  73|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_RecordChild1,
   OPC_CheckPredicate, 11,
   OPC_CheckPredicate5,
   OPC_SwitchType , 54, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_Scope, 23,
     OPC_CheckPatternPredicate, 31,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXSLDWIs),
                     4|128,1, 2, 4, 5,
    23,
     OPC_CheckPatternPredicate, 24,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                     4|128,1, 2, 4, 5,
    0,
   2|128,1, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     22|128,1, 3, 4, 5, 6,
    22,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                     22|128,1, 2, 4, 5,
    23,
     OPC_CheckPatternPredicate, 51,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                     22|128,1, 2, 4, 5,
    26,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     22|128,1, 3, 4, 5, 6,
    22,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                     22|128,1, 2, 4, 5,
    0,
   0,
  107,
   OPC_RecordChild0,
   OPC_SwitchType , 58, 22|128,1,
    OPC_CheckChild0Type, MVT::f64,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate, 19,
     OPC_EmitIntegerI64, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     22|128,1, 3, 1, 0, 2,
    37,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI64, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 4, 0, 5,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                     22|128,1, 3, 3, 6, 7,
    0,
   40, 4|128,1,
    OPC_CheckChild0Type, MVT::f32,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSPN),
                     4|128,1, 1, 0,
    25,
     OPC_CheckPatternPredicate, 24,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                     MVT::v4i32, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                     MVT::v4i32, 1, 0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSLDWI),
                     4|128,1, 3, 1, 2, 3,
    0,
   0,
  0,
 70|128,14, TARGET_VAL(PPCISD::SCALAR_TO_VECTOR_PERMUTED),
  OPC_Scope, 115|128,10,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 73|128,5, TARGET_VAL(PPCISD::MFVSR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 8|128,1, TARGET_VAL(PPCISD::FCTIDZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate, 11,
     OPC_Scope, 27,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVDPSXDS),
                      MVT::v2i64, 1, 4,
     95,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 39,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 2, 3,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 5, 6,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXDS),
                       MVT::f64, 1, 7,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 4, 8, 9,
      40,
       OPC_CheckPatternPredicate, 37,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 2, 3,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 5, 6,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXDS),
                       MVT::f64, 1, 7,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 4, 8, 9,
      0,
     0,
    8|128,1, TARGET_VAL(PPCISD::FCTIDUZ),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate, 11,
     OPC_Scope, 27,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVDPUXDS),
                      MVT::v2i64, 1, 4,
     95,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 15,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 39,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 2, 3,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 5, 6,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXDS),
                       MVT::f64, 1, 7,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 4, 8, 9,
      40,
       OPC_CheckPatternPredicate, 37,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 2, 3,
       OPC_EmitIntegerI32, PPC::VSFRCRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       MVT::f64, 2, 5, 6,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXDS),
                       MVT::f64, 1, 7,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 4, 8, 9,
      0,
     0,
    83|128,1, TARGET_VAL(PPCISD::FCTIWZ),
     OPC_Scope, 51|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckPredicate, 11,
      OPC_Scope, 42,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 15,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 2, 3,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 5, 6,
       OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSPSXWS),
                       MVT::v4i32, 1, 7,
      39,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 2, 3,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXWS),
                       MVT::f64, 1, 5,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 6, 7,
      42,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 15,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 2, 3,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXWSs),
                       MVT::f32, 1, 5,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 6, 7,
      40,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 37,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 2, 3,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXWS),
                       MVT::f64, 1, 5,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 6, 7,
      0,
     27,
      OPC_RecordChild0,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
                      MVT::f64, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 1, 2, 3,
     0,
    83|128,1, TARGET_VAL(PPCISD::FCTIWUZ),
     OPC_Scope, 51|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckPredicate, 11,
      OPC_Scope, 42,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 15,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 2, 3,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 5, 6,
       OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSPUXWS),
                       MVT::v4i32, 1, 7,
      39,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 2, 3,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXWS),
                       MVT::f64, 1, 5,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 6, 7,
      42,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 15,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 2, 3,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXWSs),
                       MVT::f32, 1, 5,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 6, 7,
      40,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 37,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 2, 3,
       OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXWS),
                       MVT::f64, 1, 5,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 6, 7,
      0,
     27,
      OPC_RecordChild0,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
                      MVT::f64, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 1, 2, 3,
     0,
    0,
   89, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 11,
    OPC_CheckPredicate, 9,
    OPC_CheckPredicate1,
    OPC_MoveSibling1,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_SwitchType , 33, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSB2Ws),
                     MVT::f64, 1, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 4, 6, 7,
    33, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate7,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSB2Ds),
                     MVT::f64, 1, 5,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v2i64, 3, 4, 6, 7,
    0,
   67|128,4, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 11,
    OPC_Scope, 30,
     OPC_CheckPredicate5,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 31,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 4, 5, 6,
    32,
     OPC_CheckPredicate, 18,
     OPC_CheckPredicate7,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 24,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v2i64, 3, 4, 5, 6,
    32,
     OPC_CheckPredicate, 14,
     OPC_CheckPredicate7,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 24,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v2i64, 3, 4, 5, 6,
    30,
     OPC_CheckPredicate5,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 24,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 4, 5, 6,
    28|128,1,
     OPC_CheckPredicate, 14,
     OPC_Scope, 89,
      OPC_CheckPredicate1,
      OPC_SwitchType , 55, MVT::i32,
       OPC_MoveParent,
       OPC_SwitchType , 24, MVT::v8i16,
        OPC_CheckPatternPredicate7,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f64, 2, 2, 3,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i16, 3, 4, 5, 6,
       24, MVT::v4i32,
        OPC_CheckPatternPredicate7,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f64, 2, 2, 3,
        OPC_EmitIntegerI32, PPC::sub_64,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 4, 5, 6,
       0,
      27, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 2, 3,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 4, 5, 6,
      0,
     61,
      OPC_CheckPredicate0,
      OPC_SwitchType , 27, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 2, 3,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 5, 6,
      27, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 2, 3,
       OPC_EmitIntegerI32, PPC::sub_64,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 4, 5, 6,
      0,
     0,
    125,
     OPC_CheckPredicate, 9,
     OPC_CheckTypeI32,
     OPC_Scope, 29,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 60,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 4, 5, 6,
     29,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 60,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8i16, 3, 4, 5, 6,
     29,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 4, 5, 6,
     29,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8i16, 3, 4, 5, 6,
     0,
    83,
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 24,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v2i64, 3, 4, 5, 6,
     25,
      OPC_CheckPatternPredicate, 51,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v2i64, 3, 4, 5, 6,
     24,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v2i64, 3, 4, 5, 6,
     0,
    75,
     OPC_CheckPredicate, 18,
     OPC_CheckPredicate0,
     OPC_SwitchType , 33, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSH2Ws),
                      MVT::f64, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 4, 6, 7,
     33, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
      OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSH2Ds),
                      MVT::f64, 1, 5,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v2i64, 3, 4, 6, 7,
     0,
    0,
   0,
  119|128,1,
   OPC_RecordChild0,
   OPC_Scope, 87|128,1,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 71, MVT::v16i8,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 43,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                      MVT::f64, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 1, 2, 3,
     47,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 4,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 1, 5, 6,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v16i8, 2, 7, 8,
     0,
    71, MVT::v8i16,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 43,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                      MVT::f64, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8i16, 3, 1, 2, 3,
     47,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                      MVT::f64, 1, 4,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 1, 5, 6,
      OPC_EmitIntegerI32, PPC::VSRCRegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i16, 2, 7, 8,
     0,
    64, MVT::v4i32,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 43,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                      MVT::f64, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 1, 2, 3,
     20,
      OPC_CheckPatternPredicate, 38,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                      MVT::f64, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 1, 2, 3,
     19,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                      MVT::f64, 1, 0,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 1, 2, 3,
     0,
    0,
   26,
    OPC_CheckChild0TypeI64,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v2i64, 0,
    OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
                    MVT::f64, 1, 0,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v2i64, 3, 1, 2, 3,
   0,
  33|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_RecordChild1,
   OPC_CheckPredicate, 11,
   OPC_CheckPredicate5,
   OPC_SwitchType , 60, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate, 31,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     4|128,1, 3, 4, 5, 6,
    26,
     OPC_CheckPatternPredicate, 24,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     4|128,1, 3, 4, 5, 6,
    0,
   85, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_Scope, 25,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     22|128,1, 3, 4, 5, 6,
    26,
     OPC_CheckPatternPredicate, 51,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     22|128,1, 3, 4, 5, 6,
    25,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 2, 2, 3,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     22|128,1, 3, 4, 5, 6,
    0,
   0,
  50,
   OPC_RecordChild0,
   OPC_SwitchType , 17, 22|128,1,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI64, 1,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    22|128,1, 3, 1, 0, 2,
   24, 4|128,1,
    OPC_CheckChild0Type, MVT::f32,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSPN),
                     4|128,1, 1, 0,
    9,
     OPC_CheckPatternPredicate, 24,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSPN),
                     4|128,1, 1, 0,
    0,
   0,
  0,
 48|128,19, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
  OPC_RecordChild0,
  OPC_Scope, 49|128,4,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 17|128,2, TARGET_VAL(PPCISD::FCTIWZ),
    OPC_RecordChild0,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 65,
     OPC_CheckChild2Integer, 0,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     29,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     0,
    65,
     OPC_CheckChild2Integer, 1,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     29,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     0,
    65,
     OPC_CheckChild2Integer, 2,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     29,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     0,
    65,
     OPC_CheckChild2Integer, 3,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     29,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     0,
    0,
   17|128,2, TARGET_VAL(PPCISD::FCTIWUZ),
    OPC_RecordChild0,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 65,
     OPC_CheckChild2Integer, 0,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     29,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     0,
    65,
     OPC_CheckChild2Integer, 1,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     29,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     0,
    65,
     OPC_CheckChild2Integer, 2,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     29,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     0,
    65,
     OPC_CheckChild2Integer, 3,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     29,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     0,
    0,
   0,
  83|128,6,
   OPC_RecordChild1,
   OPC_Scope, 13|128,1,
    OPC_CheckChild2Integer, 0,
    OPC_SwitchType , 104, MVT::v4i32,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate, 34,
      OPC_EmitIntegerI32, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
                      MVT::v4i32, 3, 0, 2, 1,
     13,
      OPC_CheckChild2TypeI32,
      OPC_CheckPatternPredicate, 40,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
                      MVT::v4i32, 3, 0, 2, 1,
     13,
      OPC_CheckChild2TypeI64,
      OPC_CheckPatternPredicate, 40,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
                      MVT::v4i32, 3, 0, 2, 1,
     30,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     29,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     0,
    29, MVT::v2i64,
     OPC_Scope, 13,
      OPC_CheckChild2TypeI64,
      OPC_CheckPatternPredicate, 34,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSD),
                      MVT::v2i64, 3, 0, 2, 1,
     12,
      OPC_CheckPatternPredicate, 40,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSD),
                      MVT::v2i64, 3, 0, 2, 1,
     0,
    0,
   13|128,1,
    OPC_CheckChild2Integer, 1,
    OPC_SwitchType , 104, MVT::v4i32,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate, 34,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
                      MVT::v4i32, 3, 0, 2, 1,
     13,
      OPC_CheckChild2TypeI32,
      OPC_CheckPatternPredicate, 40,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
                      MVT::v4i32, 3, 0, 2, 1,
     13,
      OPC_CheckChild2TypeI64,
      OPC_CheckPatternPredicate, 40,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
                      MVT::v4i32, 3, 0, 2, 1,
     30,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     29,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                      MVT::f64, 1, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 3, 4,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      MVT::v4i32, 3, 0, 5, 6,
     0,
    29, MVT::v2i64,
     OPC_Scope, 13,
      OPC_CheckChild2TypeI64,
      OPC_CheckPatternPredicate, 34,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSD),
                      MVT::v2i64, 3, 0, 2, 1,
     12,
      OPC_CheckPatternPredicate, 40,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSD),
                      MVT::v2i64, 3, 0, 2, 1,
     0,
    0,
   108,
    OPC_CheckChild2Integer, 2,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
                     MVT::v4i32, 3, 0, 2, 1,
    13,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitIntegerI32, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
                     MVT::v4i32, 3, 0, 2, 1,
    13,
     OPC_CheckChild2TypeI64,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitIntegerI32, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
                     MVT::v4i32, 3, 0, 2, 1,
    30,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI32, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     MVT::v4i32, 3, 0, 5, 6,
    29,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     MVT::v4i32, 3, 0, 5, 6,
    0,
   108,
    OPC_CheckChild2Integer, 3,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
                     MVT::v4i32, 3, 0, 2, 1,
    13,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitIntegerI32, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
                     MVT::v4i32, 3, 0, 2, 1,
    13,
     OPC_CheckChild2TypeI64,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitIntegerI32, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
                     MVT::v4i32, 3, 0, 2, 1,
    30,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI32, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     MVT::v4i32, 3, 0, 5, 6,
    29,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     MVT::v4i32, 3, 0, 5, 6,
    0,
   39,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 11,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate, 61,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBLX),
                     MVT::v16i8, 3, 0, 2, 1,
    20,
     OPC_CheckChild2TypeI64,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitIntegerI32, PPC::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBRX),
                     MVT::v16i8, 3, 0, 4, 1,
    0,
   29,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 34,
    OPC_EmitIntegerI32, 3,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 28,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                    MVT::i64, 4, 2, 3, 4, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDRX),
                    MVT::v2i64, 3, 0, 6, 1,
   30,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 61,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 2, 3, 4, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHLX),
                    MVT::v8i16, 3, 0, 6, 1,
   29,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 61,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 2, 3, 4, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWLX),
                    MVT::v4i32, 3, 0, 6, 1,
   24,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 47,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBLX),
                    MVT::v16i8, 3, 0, 4, 1,
   29,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 47,
    OPC_EmitIntegerI32, 3,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 28,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                    MVT::i64, 4, 2, 3, 4, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDLX),
                    MVT::v2i64, 3, 0, 6, 1,
   39,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 34,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 4, 5, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHRX),
                    MVT::v8i16, 3, 0, 8, 1,
   38,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 34,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 4, 5, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWRX),
                    MVT::v4i32, 3, 0, 8, 1,
   39,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 47,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 30,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 4, 5, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHLX),
                    MVT::v8i16, 3, 0, 8, 1,
   38,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 47,
    OPC_EmitIntegerI32, PPC::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 4, 5, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWLX),
                    MVT::v4i32, 3, 0, 8, 1,
   0,
  29|128,2,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::f64,
   OPC_MoveParent,
   OPC_CheckType, 4|128,1,
   OPC_Scope, 67,
    OPC_CheckChild2Integer, 0,
    OPC_Scope, 31,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     4|128,1, 3, 0, 5, 6,
    30,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI32, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     4|128,1, 3, 0, 5, 6,
    0,
   67,
    OPC_CheckChild2Integer, 1,
    OPC_Scope, 31,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     4|128,1, 3, 0, 5, 6,
    30,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI32, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     4|128,1, 3, 0, 5, 6,
    0,
   67,
    OPC_CheckChild2Integer, 2,
    OPC_Scope, 31,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI32, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     4|128,1, 3, 0, 5, 6,
    30,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     4|128,1, 3, 0, 5, 6,
    0,
   67,
    OPC_CheckChild2Integer, 3,
    OPC_Scope, 31,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI32, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     4|128,1, 3, 0, 5, 6,
    30,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
                     MVT::f64, 1, 1,
     OPC_EmitIntegerI32, PPC::sub_64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 2, 3, 4,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     4|128,1, 3, 0, 5, 6,
    0,
   0,
  61|128,2,
   OPC_RecordChild1,
   OPC_Scope, 107,
    OPC_CheckChild2Integer, 0,
    OPC_SwitchType , 54, 22|128,1,
     OPC_Scope, 25,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 1, 3,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                      22|128,1, 3, 4, 0, 5,
     25,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 1, 3,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                      22|128,1, 3, 0, 4, 5,
     0,
    43, 4|128,1,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                      4|128,1, 1, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      4|128,1, 3, 0, 2, 3,
     19,
      OPC_CheckPatternPredicate6,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                      4|128,1, 1, 1,
      OPC_EmitIntegerI32, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      4|128,1, 3, 0, 2, 3,
     0,
    0,
   107,
    OPC_CheckChild2Integer, 1,
    OPC_SwitchType , 54, 22|128,1,
     OPC_Scope, 25,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 1, 3,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                      22|128,1, 3, 0, 4, 5,
     25,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI64, 1,
      OPC_EmitIntegerI32, PPC::sub_64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 2, 1, 3,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                      22|128,1, 3, 4, 0, 5,
     0,
    43, 4|128,1,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                      4|128,1, 1, 1,
      OPC_EmitIntegerI32, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      4|128,1, 3, 0, 2, 3,
     19,
      OPC_CheckPatternPredicate6,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                      4|128,1, 1, 1,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                      4|128,1, 3, 0, 2, 3,
     0,
    0,
   48,
    OPC_CheckChild2Integer, 2,
    OPC_CheckType, 4|128,1,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                     4|128,1, 1, 1,
     OPC_EmitIntegerI32, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     4|128,1, 3, 0, 2, 3,
    19,
     OPC_CheckPatternPredicate6,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                     4|128,1, 1, 1,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     4|128,1, 3, 0, 2, 3,
    0,
   48,
    OPC_CheckChild2Integer, 3,
    OPC_CheckType, 4|128,1,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                     4|128,1, 1, 1,
     OPC_EmitIntegerI32, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     4|128,1, 3, 0, 2, 3,
    19,
     OPC_CheckPatternPredicate6,
     OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                     4|128,1, 1, 1,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                     4|128,1, 3, 0, 2, 3,
    0,
   0,
  117|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate, 11,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_CheckType, 22|128,1,
   OPC_Scope, 112,
    OPC_CheckPatternPredicate, 34,
    OPC_Scope, 35,
     OPC_CheckComplexPat4, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 28,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                     MVT::i64, 4, 3, 6, 7, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::LD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 4, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDRX),
                     22|128,1, 3, 0, 9, 10,
    35,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 28,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                     MVT::i64, 4, 3, 6, 7, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::PLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 4, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDRX),
                     22|128,1, 3, 0, 9, 10,
    35,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 28,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                     MVT::i64, 4, 3, 6, 7, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::LDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 4, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDRX),
                     22|128,1, 3, 0, 9, 10,
    0,
   112,
    OPC_CheckPatternPredicate, 47,
    OPC_Scope, 35,
     OPC_CheckComplexPat4, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 28,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                     MVT::i64, 4, 3, 6, 7, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::LD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 4, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDLX),
                     22|128,1, 3, 0, 9, 10,
    35,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 28,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                     MVT::i64, 4, 3, 6, 7, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::PLD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 4, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDLX),
                     22|128,1, 3, 0, 9, 10,
    35,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 28,
     OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                     MVT::i64, 4, 3, 6, 7, 8,
     OPC_EmitNode1, TARGET_VAL(PPC::LDX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 4, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDLX),
                     22|128,1, 3, 0, 9, 10,
    0,
   0,
  78|128,1,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 35|128,1,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 68, 22|128,1,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 34,
      OPC_EmitIntegerI32, 3,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 28,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                      MVT::i64, 4, 2, 3, 4, 5,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDRX),
                      22|128,1, 3, 0, 6, 7,
     32,
      OPC_CheckPatternPredicate, 47,
      OPC_EmitIntegerI32, 3,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 28,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
                      MVT::i64, 4, 2, 3, 4, 5,
      OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
                      MVT::i64, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDLX),
                      22|128,1, 3, 0, 6, 7,
     0,
    86, 4|128,1,
     OPC_Scope, 41,
      OPC_CheckPatternPredicate, 34,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 2, 3,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 29,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                      MVT::i32, 4, 4, 5, 6, 7,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                      MVT::v4i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWVRX),
                      4|128,1, 3, 0, 8, 9,
     41,
      OPC_CheckPatternPredicate, 47,
      OPC_EmitIntegerI32, PPC::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 2, 3,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 29,
      OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                      MVT::i32, 4, 4, 5, 6, 7,
      OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                      MVT::v4i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWVLX),
                      4|128,1, 3, 0, 8, 9,
     0,
    0,
   36,
    OPC_CheckChild2TypeI32,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 61,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 29,
    OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
                    MVT::i32, 4, 2, 3, 4, 5,
    OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
                    MVT::v4i32, 1, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWVLX),
                    4|128,1, 3, 0, 6, 7,
   0,
  0,
 123|128,2, TARGET_VAL(PPCISD::LD_SPLAT),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 116,
   OPC_CheckPredicate, 51,
   OPC_SwitchType , 54, MVT::v8i16,
    OPC_Scope, 25,
     OPC_CheckPatternPredicate, 51,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 7,
     OPC_EmitNode1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f128, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTH),
                     MVT::v8i16, 2, 4, 5,
     OPC_CompleteMatch, 1, 6,

    25,
     OPC_CheckPatternPredicate, 56,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f128, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTH),
                     MVT::v8i16, 2, 4, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   54, MVT::v16i8,
    OPC_Scope, 25,
     OPC_CheckPatternPredicate, 51,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 15,
     OPC_EmitNode1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f128, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTB),
                     MVT::v16i8, 2, 4, 5,
     OPC_CompleteMatch, 1, 6,

    25,
     OPC_CheckPatternPredicate, 56,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f128, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTB),
                     MVT::v16i8, 2, 4, 5,
     OPC_CompleteMatch, 1, 6,

    0,
   0,
  14,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate2,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v2i64, 2, 2, 3,
  54,
   OPC_CheckType, MVT::v4i32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate7,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVWSX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 2, 2, 3,
   36,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1, TARGET_VAL(PPC::LFIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v4i32, 3, 4, 5, 6,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                    MVT::v4i32, 2, 7, 8,
    OPC_CompleteMatch, 1, 9,

   0,
  55,
   OPC_CheckType, MVT::v8i16,
   OPC_Scope, 21,
    OPC_CheckPatternPredicate7,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 3,
    OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTHs),
                    MVT::v8i16, 2, 4, 5,
   28,
    OPC_CheckPatternPredicate, 29,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 3,
    OPC_EmitNode1, TARGET_VAL(PPC::LHZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                    MVT::f64, 1, 5,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTHs),
                    MVT::v8i16, 2, 4, 6,
   0,
  55,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 21,
    OPC_CheckPatternPredicate7,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 7,
    OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTBs),
                    MVT::v16i8, 2, 4, 5,
   28,
    OPC_CheckPatternPredicate, 29,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 7,
    OPC_EmitNode1, TARGET_VAL(PPC::LBZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
                    MVT::f64, 1, 5,
    OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTBs),
                    MVT::v16i8, 2, 4, 6,
   0,
  16,
   OPC_CheckType, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
                   22|128,1, 2, 2, 3,
  57,
   OPC_CheckType, 4|128,1,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate7,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVWSX), 0|OPFL_Chain|OPFL_MemRefs,
                    4|128,1, 2, 2, 3,
   37,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1, TARGET_VAL(PPC::LFIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v4i32, 3, 4, 5, 6,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                    4|128,1, 2, 7, 8,
    OPC_CompleteMatch, 1, 9,

   0,
  0,
 115, TARGET_VAL(PPCISD::LOAD_VEC_BE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 13, MVT::v2i64,
   OPC_CheckPatternPredicate, 13,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v2i64, 2, 2, 3,
  13, MVT::v4i32,
   OPC_CheckPatternPredicate, 13,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVW4X), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v4i32, 2, 2, 3,
  21, MVT::v8i16,
   OPC_CheckPatternPredicate6,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::LXVH8X), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v4i32, 2, 2, 3,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v8i16, 2, 4, 5,
  21, MVT::v16i8,
   OPC_CheckPatternPredicate6,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::LXVB16X), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v4i32, 2, 2, 3,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v16i8, 2, 4, 5,
  14, 22|128,1,
   OPC_CheckPatternPredicate, 13,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                   22|128,1, 2, 2, 3,
  14, 4|128,1,
   OPC_CheckPatternPredicate, 13,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVW4X), 0|OPFL_Chain|OPFL_MemRefs,
                   4|128,1, 2, 2, 3,
  0,
 26, TARGET_VAL(PPCISD::ZEXT_LD_SPLAT),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckType, MVT::v2i64,
  OPC_CheckPatternPredicate2,
  OPC_CheckComplexPat0, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitNode1, TARGET_VAL(PPC::LFIWZX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 2, 2, 3,
  OPC_EmitIntegerI32, 0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                  MVT::v2i64, 2, 4, 5,
 26, TARGET_VAL(PPCISD::SEXT_LD_SPLAT),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckType, MVT::v2i64,
  OPC_CheckPatternPredicate2,
  OPC_CheckComplexPat0, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitNode1, TARGET_VAL(PPC::LFIWAX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 2, 2, 3,
  OPC_EmitIntegerI32, 0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
                  MVT::v2i64, 2, 4, 5,
 78, TARGET_VAL(PPCISD::VECSHL),
  OPC_RecordChild0,
  OPC_Scope, 47,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_Scope, 17,
    OPC_CheckChild1Same, 0,
    OPC_CheckChild2Integer, 2,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                    MVT::v4i32, 3, 0, 0, 1,
   24,
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSLDWI),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  26,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 10,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate3,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLDOI),
                   MVT::v16i8, 3, 0, 1, 3,
  0,
 27, 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, 10,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_CheckType, MVT::v2i64,
  OPC_CheckPatternPredicate2,
  OPC_EmitConvertToTarget2,
  OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                  MVT::v2i64, 3, 0, 1, 3,
 23, TARGET_VAL(PPCISD::XXSPLT),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v4i32,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 10,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_CheckType, MVT::v4i32,
  OPC_CheckPatternPredicate2,
  OPC_EmitConvertToTarget1,
  OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
                  MVT::v4i32, 2, 0, 2,
 86, TARGET_VAL(PPCISD::VECINSERT),
  OPC_RecordChild0,
  OPC_Scope, 26,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 10,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate7,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
                   MVT::v4i32, 3, 0, 1, 3,
  27,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 10,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 18,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSERTB),
                   MVT::v16i8, 3, 0, 3, 1,
  27,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 10,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 18,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSERTH),
                   MVT::v8i16, 3, 0, 3, 1,
  0,
 121|128,5, TARGET_VAL(ISD::VECTOR_SHUFFLE),
  OPC_Scope, 120|128,1,
   OPC_RecordChild0,
   OPC_Scope, 85,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 37,
     OPC_CheckPredicate, 31,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
                     MVT::v4i32, 2, 2, 4,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 5, 6,
    37,
     OPC_CheckPredicate, 32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                     MVT::v4i32, 2, 2, 4,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 5, 6,
    0,
   29|128,1,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 37,
     OPC_CheckPredicate, 33,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
                     MVT::v4i32, 2, 3, 5,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 6, 7,
    37,
     OPC_CheckPredicate, 34,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                     MVT::v4i32, 2, 3, 5,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 6, 7,
    37,
     OPC_CheckPredicate, 35,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
                     MVT::v4i32, 2, 3, 5,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 6, 7,
    37,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 1, 2,
     OPC_EmitIntegerI32, PPC::VSRCRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                     MVT::v4i32, 2, 3, 5,
     OPC_EmitIntegerI32, PPC::VRRCRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i8, 2, 6, 7,
    0,
   0,
  68,
   OPC_RecordNode,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 13,
    OPC_CheckPredicate, 52,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 18, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTB),
                    MVT::v16i8, 2, 2, 1,
   13,
    OPC_CheckPredicate, 53,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 19, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTH),
                    MVT::v16i8, 2, 2, 1,
   13,
    OPC_CheckPredicate, 54,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 20, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTW),
                    MVT::v16i8, 2, 2, 1,
   14,
    OPC_CheckPredicate, 55,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 21, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLDOI),
                    MVT::v16i8, 3, 1, 1, 2,
   0,
  104|128,1,
   OPC_RecordChild0,
   OPC_Scope, 5|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 10,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUWUM),
                     MVT::v16i8, 2, 0, 0,
    10,
     OPC_CheckPredicate, 57,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUHUM),
                     MVT::v16i8, 2, 0, 0,
    10,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLB),
                     MVT::v16i8, 2, 0, 0,
    10,
     OPC_CheckPredicate, 59,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLH),
                     MVT::v16i8, 2, 0, 0,
    10,
     OPC_CheckPredicate, 31,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLW),
                     MVT::v16i8, 2, 0, 0,
    10,
     OPC_CheckPredicate, 60,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHB),
                     MVT::v16i8, 2, 0, 0,
    10,
     OPC_CheckPredicate, 61,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHH),
                     MVT::v16i8, 2, 0, 0,
    10,
     OPC_CheckPredicate, 32,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHW),
                     MVT::v16i8, 2, 0, 0,
    11,
     OPC_CheckPredicate, 62,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                     MVT::v16i8, 2, 0, 0,
    11,
     OPC_CheckPredicate, 63,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGOW),
                     MVT::v16i8, 2, 0, 0,
    11,
     OPC_CheckPredicate, 64,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
                     MVT::v16i8, 2, 0, 0,
    0,
   93,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 10,
     OPC_CheckPredicate, 65,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHB),
                     MVT::v16i8, 2, 0, 1,
    10,
     OPC_CheckPredicate, 66,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHH),
                     MVT::v16i8, 2, 0, 1,
    10,
     OPC_CheckPredicate, 34,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHW),
                     MVT::v16i8, 2, 0, 1,
    10,
     OPC_CheckPredicate, 67,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLB),
                     MVT::v16i8, 2, 0, 1,
    10,
     OPC_CheckPredicate, 68,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLH),
                     MVT::v16i8, 2, 0, 1,
    10,
     OPC_CheckPredicate, 33,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLW),
                     MVT::v16i8, 2, 0, 1,
    10,
     OPC_CheckPredicate, 69,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUHUM),
                     MVT::v16i8, 2, 0, 1,
    10,
     OPC_CheckPredicate, 70,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUWUM),
                     MVT::v16i8, 2, 0, 1,
    0,
   0,
  37,
   OPC_RecordNode,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 14,
    OPC_CheckPredicate, 71,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 22, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLDOI),
                    MVT::v16i8, 3, 1, 2, 3,
   14,
    OPC_CheckPredicate, 72,
    OPC_CheckPatternPredicate3,
    OPC_EmitNodeXForm, 23, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLDOI),
                    MVT::v16i8, 3, 2, 1, 3,
   0,
  38|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v16i8,
   OPC_Scope, 10,
    OPC_CheckPredicate, 73,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUWUM),
                    MVT::v16i8, 2, 1, 0,
   10,
    OPC_CheckPredicate, 74,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUHUM),
                    MVT::v16i8, 2, 1, 0,
   10,
    OPC_CheckPredicate, 75,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLB),
                    MVT::v16i8, 2, 1, 0,
   10,
    OPC_CheckPredicate, 76,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLH),
                    MVT::v16i8, 2, 1, 0,
   10,
    OPC_CheckPredicate, 35,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLW),
                    MVT::v16i8, 2, 1, 0,
   10,
    OPC_CheckPredicate, 77,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHB),
                    MVT::v16i8, 2, 1, 0,
   10,
    OPC_CheckPredicate, 78,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHH),
                    MVT::v16i8, 2, 1, 0,
   10,
    OPC_CheckPredicate, 36,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHW),
                    MVT::v16i8, 2, 1, 0,
   11,
    OPC_CheckPredicate, 79,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                    MVT::v16i8, 2, 0, 1,
   11,
    OPC_CheckPredicate, 80,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGOW),
                    MVT::v16i8, 2, 0, 1,
   11,
    OPC_CheckPredicate, 81,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
                    MVT::v16i8, 2, 1, 0,
   11,
    OPC_CheckPredicate, 82,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGOW),
                    MVT::v16i8, 2, 1, 0,
   11,
    OPC_CheckPredicate, 83,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
                    MVT::v16i8, 2, 0, 1,
   11,
    OPC_CheckPredicate, 84,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
                    MVT::v16i8, 2, 1, 0,
   0,
  0,
 76, TARGET_VAL(PPCISD::XXSWAPD),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 15, MVT::v2i64,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                   MVT::v2i64, 3, 1, 1, 2,
   OPC_CompleteMatch, 1, 3,

  15, MVT::v4i32,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                   MVT::v4i32, 3, 1, 1, 2,
   OPC_CompleteMatch, 1, 3,

  16, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                   22|128,1, 3, 1, 1, 2,
   OPC_CompleteMatch, 1, 3,

  16, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                   4|128,1, 3, 1, 1, 2,
   OPC_CompleteMatch, 1, 3,

  0,
 37, TARGET_VAL(ISD::ABDU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::v4i32,
   OPC_CheckPatternPredicate, 62,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUW),
                   MVT::v4i32, 2, 0, 1,
  9, MVT::v8i16,
   OPC_CheckPatternPredicate, 62,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUH),
                   MVT::v8i16, 2, 0, 1,
  9, MVT::v16i8,
   OPC_CheckPatternPredicate, 62,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUB),
                   MVT::v16i8, 2, 0, 1,
  0,
 63, TARGET_VAL(ISD::SMAX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 27, MVT::v2i64,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f128, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f128, 2, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSD),
                   MVT::v2i64, 2, 3, 5,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSB),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSH),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSW),
                   MVT::v4i32, 2, 0, 1,
  0,
 63, TARGET_VAL(ISD::UMAX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 27, MVT::v2i64,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f128, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f128, 2, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUD),
                   MVT::v2i64, 2, 3, 5,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUB),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUH),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUW),
                   MVT::v4i32, 2, 0, 1,
  0,
 63, TARGET_VAL(ISD::SMIN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 27, MVT::v2i64,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f128, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f128, 2, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSD),
                   MVT::v2i64, 2, 3, 5,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSB),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSH),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSW),
                   MVT::v4i32, 2, 0, 1,
  0,
 63, TARGET_VAL(ISD::UMIN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 27, MVT::v2i64,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f128, 2, 0, 2,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f128, 2, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUD),
                   MVT::v2i64, 2, 3, 5,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUB),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUH),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUW),
                   MVT::v4i32, 2, 0, 1,
  0,
 25, TARGET_VAL(ISD::ABDS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckType, MVT::v4i32,
  OPC_CheckPatternPredicate, 62,
  OPC_EmitNode1None, TARGET_VAL(PPC::XVNEGSP),
                  MVT::v4i32, 1, 0,
  OPC_EmitNode1None, TARGET_VAL(PPC::XVNEGSP),
                  MVT::v4i32, 1, 1,
  OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUW),
                  MVT::v4i32, 2, 2, 3,
 102, TARGET_VAL(PPCISD::LXVRZX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 23,
   OPC_CheckChild2Integer, 8,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::LXVRBX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v4i32, 2, 2, 3,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v1i128, 2, 4, 5,
  23,
   OPC_CheckChild2Integer, 16,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::LXVRHX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v4i32, 2, 2, 3,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v1i128, 2, 4, 5,
  23,
   OPC_CheckChild2Integer, 32,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::LXVRWX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v4i32, 2, 2, 3,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v1i128, 2, 4, 5,
  24,
   OPC_CheckChild2Integer, 64|128,0,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1, TARGET_VAL(PPC::LXVRDX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v4i32, 2, 2, 3,
   OPC_EmitIntegerI32, PPC::VRRCRegClassID,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v1i128, 2, 4, 5,
  0,
 84|128,2, TARGET_VAL(PPCISD::VCMP),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 62, MVT::v16i8,
   OPC_Scope, 10,
    OPC_CheckChild2Integer, 6,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPEQUB),
                    MVT::v16i8, 2, 0, 1,
   11,
    OPC_CheckChild2Integer, 6|128,6,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTSB),
                    MVT::v16i8, 2, 0, 1,
   11,
    OPC_CheckChild2Integer, 6|128,4,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTUB),
                    MVT::v16i8, 2, 0, 1,
   11,
    OPC_CheckChild2Integer, 7,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPNEB),
                    MVT::v16i8, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 7|128,2,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPNEZB),
                    MVT::v16i8, 2, 0, 1,
   0,
  64, MVT::v8i16,
   OPC_Scope, 11,
    OPC_CheckChild2Integer, 70|128,0,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPEQUH),
                    MVT::v8i16, 2, 0, 1,
   11,
    OPC_CheckChild2Integer, 70|128,6,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTSH),
                    MVT::v8i16, 2, 0, 1,
   11,
    OPC_CheckChild2Integer, 70|128,4,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTUH),
                    MVT::v8i16, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 71|128,0,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPNEH),
                    MVT::v8i16, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 71|128,2,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPNEZH),
                    MVT::v8i16, 2, 0, 1,
   0,
  64, MVT::v4i32,
   OPC_Scope, 11,
    OPC_CheckChild2Integer, 6|128,1,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPEQUW),
                    MVT::v4i32, 2, 0, 1,
   11,
    OPC_CheckChild2Integer, 6|128,7,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTSW),
                    MVT::v4i32, 2, 0, 1,
   11,
    OPC_CheckChild2Integer, 6|128,5,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTUW),
                    MVT::v4i32, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 7|128,1,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPNEW),
                    MVT::v4i32, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 7|128,3,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPNEZW),
                    MVT::v4i32, 2, 0, 1,
   0,
  41, MVT::v2i64,
   OPC_Scope, 12,
    OPC_CheckChild2Integer, 71|128,1,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPEQUD),
                    MVT::v2i64, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 71|128,7,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTSD),
                    MVT::v2i64, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 71|128,5,
    OPC_CheckPatternPredicate, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTUD),
                    MVT::v2i64, 2, 0, 1,
   0,
  38, MVT::v1i128,
   OPC_Scope, 11,
    OPC_CheckChild2Integer, 71|128,3,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPEQUQ),
                    MVT::v1i128, 2, 0, 1,
   11,
    OPC_CheckChild2Integer, 7|128,7,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTSQ),
                    MVT::v1i128, 2, 0, 1,
   11,
    OPC_CheckChild2Integer, 7|128,5,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTUQ),
                    MVT::v1i128, 2, 0, 1,
   0,
  54, 4|128,1,
   OPC_Scope, 12,
    OPC_CheckChild2Integer, 70|128,7,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPBFP),
                    4|128,1, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 70|128,1,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPEQFP),
                    4|128,1, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 70|128,3,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGEFP),
                    4|128,1, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 70|128,5,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTFP),
                    4|128,1, 2, 0, 1,
   0,
  0,
 114|128,6, TARGET_VAL(PPCISD::VCMP_rec),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 67, MVT::v16i8,
   OPC_Scope, 11,
    OPC_CheckChild2Integer, 6,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPEQUB_rec),
                    MVT::v16i8, MVT::i32, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 6|128,6,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTSB_rec),
                    MVT::v16i8, MVT::i32, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 6|128,4,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUB_rec),
                    MVT::v16i8, MVT::i32, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 7,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPNEB_rec),
                    MVT::v16i8, MVT::i32, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 7|128,2,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPNEZB_rec),
                    MVT::v16i8, MVT::i32, 2, 0, 1,
   0,
  69, MVT::v8i16,
   OPC_Scope, 12,
    OPC_CheckChild2Integer, 70|128,0,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPEQUH_rec),
                    MVT::v8i16, MVT::i32, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 70|128,6,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTSH_rec),
                    MVT::v8i16, MVT::i32, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 70|128,4,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUH_rec),
                    MVT::v8i16, MVT::i32, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 71|128,0,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPNEH_rec),
                    MVT::v8i16, MVT::i32, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 71|128,2,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPNEZH_rec),
                    MVT::v8i16, MVT::i32, 2, 0, 1,
   0,
  69, MVT::v4i32,
   OPC_Scope, 12,
    OPC_CheckChild2Integer, 6|128,1,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPEQUW_rec),
                    MVT::v4i32, MVT::i32, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 6|128,7,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTSW_rec),
                    MVT::v4i32, MVT::i32, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 6|128,5,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUW_rec),
                    MVT::v4i32, MVT::i32, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 7|128,1,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPNEW_rec),
                    MVT::v4i32, MVT::i32, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 7|128,3,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPNEZW_rec),
                    MVT::v4i32, MVT::i32, 2, 0, 1,
   0,
  87|128,3, MVT::v2i64,
   OPC_Scope, 7|128,1,
    OPC_CheckChild2Integer, 71|128,1,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPEQUD_rec),
                     MVT::v2i64, MVT::i32, 2, 0, 1,
    118,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v2i64, 3, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXLAND),
                     MVT::v2i64, 2, 5, 6,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                     MVT::v2i64, 2, 7, 8,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v2i64, 3, 10, 11, 12,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXLAND),
                     MVT::v2i64, 2, 13, 14,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                     MVT::v2i64, 2, 15, 16,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v2i64, 3, 9, 17, 18,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXLXORz),
                     MVT::v2i64, 0,
     OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUB_rec),
                     MVT::v2i64, MVT::i32, 2, 19, 20,
    0,
   36|128,1,
    OPC_CheckChild2Integer, 71|128,7,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTSD_rec),
                     MVT::v2i64, MVT::i32, 2, 0, 1,
    18|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTSW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v2i64, 3, 3, 4, 5,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXLAND),
                     MVT::v2i64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXLOR),
                     MVT::v2i64, 2, 2, 8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                     MVT::v2i64, 2, 9, 10,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTSW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v2i64, 3, 13, 14, 15,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXLAND),
                     MVT::v2i64, 2, 16, 17,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXLOR),
                     MVT::v2i64, 2, 12, 18,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                     MVT::v2i64, 2, 19, 20,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v2i64, 3, 11, 21, 22,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXLXORz),
                     MVT::v2i64, 0,
     OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUB_rec),
                     MVT::v2i64, MVT::i32, 2, 23, 24,
    0,
   36|128,1,
    OPC_CheckChild2Integer, 71|128,5,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUD_rec),
                     MVT::v2i64, MVT::i32, 2, 0, 1,
    18|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v2i64, 3, 3, 4, 5,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXLAND),
                     MVT::v2i64, 2, 6, 7,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXLOR),
                     MVT::v2i64, 2, 2, 8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                     MVT::v2i64, 2, 9, 10,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
                     MVT::v2i64, 3, 13, 14, 15,
     OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXLAND),
                     MVT::v2i64, 2, 16, 17,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXLOR),
                     MVT::v2i64, 2, 12, 18,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
                     MVT::v2i64, 2, 19, 20,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
                     MVT::v2i64, 3, 11, 21, 22,
     OPC_EmitNode1None, TARGET_VAL(PPC::XXLXORz),
                     MVT::v2i64, 0,
     OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUB_rec),
                     MVT::v2i64, MVT::i32, 2, 23, 24,
    0,
   0,
  41, MVT::v1i128,
   OPC_Scope, 12,
    OPC_CheckChild2Integer, 71|128,3,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPEQUQ_rec),
                    MVT::v1i128, MVT::i32, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 7|128,7,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTSQ_rec),
                    MVT::v1i128, MVT::i32, 2, 0, 1,
   12,
    OPC_CheckChild2Integer, 7|128,5,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUQ_rec),
                    MVT::v1i128, MVT::i32, 2, 0, 1,
   0,
  44, 22|128,1,
   OPC_Scope, 13,
    OPC_CheckChild2Integer, 99|128,0,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::XVCMPEQDP_rec),
                    22|128,1, MVT::i32, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 115|128,0,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::XVCMPGEDP_rec),
                    22|128,1, MVT::i32, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 107|128,0,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::XVCMPGTDP_rec),
                    22|128,1, MVT::i32, 2, 0, 1,
   0,
  100, 4|128,1,
   OPC_Scope, 13,
    OPC_CheckChild2Integer, 67|128,0,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::XVCMPEQSP_rec),
                    4|128,1, MVT::i32, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 83|128,0,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::XVCMPGESP_rec),
                    4|128,1, MVT::i32, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 75|128,0,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::XVCMPGTSP_rec),
                    4|128,1, MVT::i32, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 70|128,7,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPBFP_rec),
                    4|128,1, MVT::i32, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 70|128,1,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPEQFP_rec),
                    4|128,1, MVT::i32, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 70|128,3,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGEFP_rec),
                    4|128,1, MVT::i32, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 70|128,5,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTFP_rec),
                    4|128,1, MVT::i32, 2, 0, 1,
   0,
  0,
 125, TARGET_VAL(PPCISD::EXTRACT_VSX_REG),
  OPC_RecordChild0,
  OPC_Scope, 37,
   OPC_CheckChild1Integer, 0,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 50,
    OPC_EmitIntegerI32, PPC::sub_vsx0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 0, 1,
   20,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::sub_pair0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v256i1, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::sub_vsx0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 2, 3,
   0,
  37,
   OPC_CheckChild1Integer, 1,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 50,
    OPC_EmitIntegerI32, PPC::sub_vsx1,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 0, 1,
   20,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, PPC::sub_pair0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v256i1, 2, 0, 1,
    OPC_EmitIntegerI32, PPC::sub_vsx1,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 2, 3,
   0,
  22,
   OPC_CheckChild1Integer, 2,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitIntegerI32, PPC::sub_pair1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v256i1, 2, 0, 1,
   OPC_EmitIntegerI32, PPC::sub_vsx0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4i32, 2, 2, 3,
  22,
   OPC_CheckChild1Integer, 3,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitIntegerI32, PPC::sub_pair1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v256i1, 2, 0, 1,
   OPC_EmitIntegerI32, PPC::sub_vsx1,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4i32, 2, 2, 3,
  0,
 16, TARGET_VAL(PPCISD::INST256),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveParent,
  OPC_CheckPatternPredicate, 17,
  OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXXINSTDMR256),
                  MVT::v256i1, 2, 0, 1,
 34, TARGET_VAL(ISD::SADDSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDSBS),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDSHS),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDSWS),
                   MVT::v4i32, 2, 0, 1,
  0,
 34, TARGET_VAL(ISD::UADDSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUBS),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUHS),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUWS),
                   MVT::v4i32, 2, 0, 1,
  0,
 34, TARGET_VAL(ISD::SSUBSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBSBS),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBSHS),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBSWS),
                   MVT::v4i32, 2, 0, 1,
  0,
 34, TARGET_VAL(ISD::USUBSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v16i8,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUBS),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUHS),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUWS),
                   MVT::v4i32, 2, 0, 1,
  0,
 29, TARGET_VAL(PPCISD::VPERM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 9, MVT::v16i8,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPERM),
                   MVT::v16i8, 3, 0, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPERM),
                   22|128,1, 3, 0, 1, 2,
  0,
 20, TARGET_VAL(PPCISD::PAIR_BUILD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate, 50,
  OPC_EmitIntegerI32, PPC::VSRpRCRegClassID,
  OPC_EmitIntegerI32, PPC::sub_vsx1,
  OPC_EmitIntegerI32, PPC::sub_vsx0,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                  MVT::v256i1, 5, 2, 1, 3, 0, 4,
 30, TARGET_VAL(PPCISD::XXSPLTI32DX),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v2i64,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI32,
  OPC_Scope, 10,
   OPC_CheckPatternPredicate, 23,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTI32DX),
                   MVT::v2i64, 3, 0, 1, 2,
  9,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTI32DX),
                   MVT::v2i64, 3, 0, 1, 2,
  0,
 12, TARGET_VAL(PPCISD::VSRQ),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckType, MVT::v4i32,
  OPC_CheckPatternPredicate4,
  OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRQ),
                  MVT::v4i32, 2, 0, 1,
 11, TARGET_VAL(PPCISD::INST512),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate, 17,
  OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXXINSTDMR512),
                  MVT::v512i1, 2, 0, 1,
 11, TARGET_VAL(PPCISD::INST512HI),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate, 17,
  OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXXINSTDMR512_HI),
                  MVT::v512i1, 2, 0, 1,
 9, TARGET_VAL(PPCISD::XXMFACC),
  OPC_RecordChild0,
  OPC_CheckPatternPredicate, 22,
  OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXMFACC),
                  MVT::v512i1, 1, 0,
 31|128,1, TARGET_VAL(PPCISD::ACC_BUILD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 59,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v256i1, 0,
   OPC_EmitIntegerI32, PPC::sub_vsx1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v256i1, 3, 4, 1, 5,
   OPC_EmitIntegerI32, PPC::sub_vsx0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v256i1, 3, 6, 0, 7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v256i1, 0,
   OPC_EmitIntegerI32, PPC::sub_vsx1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v256i1, 3, 9, 3, 10,
   OPC_EmitIntegerI32, PPC::sub_vsx0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v256i1, 3, 11, 2, 12,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXXINSTDMR512),
                   MVT::v512i1, 2, 8, 13,
  92,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitIntegerI32, PPC::UACCRCRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v256i1, 0,
   OPC_EmitIntegerI32, PPC::sub_vsx1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v256i1, 3, 5, 1, 6,
   OPC_EmitIntegerI32, PPC::sub_vsx0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v256i1, 3, 7, 0, 8,
   OPC_EmitNode1None, TARGET_VAL(PPC::KILL_PAIR),
                   MVT::v256i1, 1, 9,
   OPC_EmitIntegerI32, PPC::sub_pair0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v256i1, 0,
   OPC_EmitIntegerI32, PPC::sub_vsx1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v256i1, 3, 12, 3, 13,
   OPC_EmitIntegerI32, PPC::sub_vsx0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v256i1, 3, 14, 2, 15,
   OPC_EmitNode1None, TARGET_VAL(PPC::KILL_PAIR),
                   MVT::v256i1, 1, 16,
   OPC_EmitIntegerI32, PPC::sub_pair1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v512i1, 5, 4, 10, 11, 17, 18,
   OPC_EmitNode1None, TARGET_VAL(PPC::BUILD_UACC),
                   MVT::v512i1, 1, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXMTACC),
                   MVT::v512i1, 1, 20,
  0,
 17, TARGET_VAL(PPCISD::LXVD2X),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate, 71,
  OPC_CheckComplexPat0, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
                  22|128,1, 2, 2, 3,
 122, TARGET_VAL(PPCISD::LD_VSX_LH),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 54,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_Scope, 24,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    4|128,1, 3, 4, 5, 6,
   24,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 1,
    OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3,
    OPC_EmitIntegerI32, PPC::sub_64,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    4|128,1, 3, 4, 5, 6,
   0,
  34,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 48,
   OPC_CheckComplexPat2, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI64, 1,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1, TARGET_VAL(PPC::PLFDpc), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 5,
   OPC_EmitIntegerI32, PPC::sub_64,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   4|128,1, 3, 4, 6, 7,
  27,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 49,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI64, 1,
   OPC_EmitNode1, TARGET_VAL(PPC::PLFD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 2, 2, 3,
   OPC_EmitIntegerI32, PPC::sub_64,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   4|128,1, 3, 4, 5, 6,
  0,
 44, TARGET_VAL(PPCISD::SINT_VEC_TO_FP),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v4i32,
  OPC_CheckType, 22|128,1,
  OPC_Scope, 17,
   OPC_CheckChild1Integer, 0,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                   MVT::v2i64, 2, 0, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
                   22|128,1, 1, 1,
  17,
   OPC_CheckChild1Integer, 1,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
                   MVT::v2i64, 2, 0, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
                   22|128,1, 1, 1,
  0,
 44, TARGET_VAL(PPCISD::UINT_VEC_TO_FP),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v4i32,
  OPC_CheckType, 22|128,1,
  OPC_Scope, 17,
   OPC_CheckChild1Integer, 0,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                   MVT::v2i64, 2, 0, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
                   22|128,1, 1, 1,
  17,
   OPC_CheckChild1Integer, 1,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
                   MVT::v2i64, 2, 0, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
                   22|128,1, 1, 1,
  0,
 39, TARGET_VAL(PPCISD::FP_EXTEND_HALF),
  OPC_RecordChild0,
  OPC_Scope, 17,
   OPC_CheckChild1Integer, 0,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
                   MVT::v4i32, 2, 0, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                   22|128,1, 1, 1,
  17,
   OPC_CheckChild1Integer, 1,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
                   MVT::v4i32, 2, 0, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
                   22|128,1, 1, 1,
  0,
 16, TARGET_VAL(PPCISD::SWAP_NO_CHAIN),
  OPC_RecordChild0,
  OPC_CheckType, 22|128,1,
  OPC_CheckPatternPredicate2,
  OPC_EmitIntegerI32, 2,
  OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
                  22|128,1, 3, 0, 0, 1,
 37, TARGET_VAL(ISD::STRICT_FMAXNUM),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 13, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(PPC::XVMAXSP),
                   4|128,1, 2, 1, 2,
   OPC_CompleteMatch, 1, 3,

  13, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(PPC::XVMAXDP),
                   22|128,1, 2, 1, 2,
   OPC_CompleteMatch, 1, 3,

  0,
 37, TARGET_VAL(ISD::STRICT_FMINNUM),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 13, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(PPC::XVMINSP),
                   4|128,1, 2, 1, 2,
   OPC_CompleteMatch, 1, 3,

  13, 22|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(PPC::XVMINDP),
                   22|128,1, 2, 1, 2,
   OPC_CompleteMatch, 1, 3,

  0,
 13, TARGET_VAL(PPCISD::XXPERM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate7,
  OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERM),
                  22|128,1, 3, 0, 1, 2,
 11, TARGET_VAL(PPCISD::XXSPLTI_SP_TO_DP),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_CheckPatternPredicate, 23,
  OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTIDP),
                  22|128,1, 1, 0,
 0,
    0
  }; // Total Array size is 282359 bytes

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

#ifdef GET_DAGISEL_DECL
bool CheckPatternPredicate(unsigned PredNo) const override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
#if DAGISEL_INLINE
  override
#endif
{
  switch (PredNo) {
  default: llvm_unreachable("Invalid predicate in table?");
  case 0: return (Subtarget->hasP10Vector()) && (Subtarget->hasPrefixInstrs());
  case 1: return (Subtarget->hasFPU());
  case 2: return (Subtarget->hasVSX());
  case 3: return (Subtarget->hasAltivec());
  case 4: return (Subtarget->isISA3_1());
  case 5: return (Subtarget->hasSPE());
  case 6: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
  case 7: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX());
  case 8: return (!Subtarget->isISA3_1());
  case 9: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
  case 10: return (Subtarget->hasFPU()) && (Subtarget->isISA3_1());
  case 11: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX());
  case 12: return (Subtarget->hasP8Altivec());
  case 13: return (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
  case 14: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
  case 15: return (Subtarget->hasP9Altivec()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
  case 16: return (Subtarget->hasP9Altivec()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
  case 17: return (Subtarget->isISAFuture()) && (Subtarget->hasMMA());
  case 18: return (Subtarget->hasP9Altivec());
  case 19: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
  case 20: return (Subtarget->hasPCRelativeMemops());
  case 21: return (Subtarget->isISAFuture()) && (Subtarget->hasMMA()) && (Subtarget->hasPrefixInstrs());
  case 22: return (!Subtarget->isISAFuture()) && (Subtarget->hasMMA());
  case 23: return (Subtarget->hasPrefixInstrs());
  case 24: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
  case 25: return (Subtarget->isPPC64());
  case 26: return (!Subtarget->isISAFuture()) && (Subtarget->hasMMA()) && (Subtarget->hasPrefixInstrs());
  case 27: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (!Subtarget->hasP9Altivec());
  case 28: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (!Subtarget->hasP9Altivec());
  case 29: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX());
  case 30: return (Subtarget->hasHTM());
  case 31: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
  case 32: return !((Subtarget->isPPC64()));
  case 33: return (Subtarget->isISA3_0());
  case 34: return (Subtarget->hasVSX()) && (Subtarget->isISA3_1()) && (Subtarget->isLittleEndian());
  case 35: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
  case 36: return (Subtarget->hasP10Vector()) && (Subtarget->hasPCRelativeMemops());
  case 37: return (Subtarget->hasVSX()) && (!Subtarget->hasP9Vector());
  case 38: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
  case 39: return (Subtarget->hasVSX()) && (Subtarget->isISA3_1());
  case 40: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_1());
  case 41: return (Subtarget->isISA3_1()) && (Subtarget->isLittleEndian());
  case 42: return (!Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
  case 43: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
  case 44: return (!Subtarget->isPPC64());
  case 45: return (!Subtarget->hasOnlyMSYNC());
  case 46: return (Subtarget->hasP8Crypto());
  case 47: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_1()) && (Subtarget->isPPC64());
  case 48: return (Subtarget->hasFPU()) && (Subtarget->hasPCRelativeMemops());
  case 49: return (Subtarget->hasFPU()) && (Subtarget->hasPrefixInstrs());
  case 50: return (Subtarget->pairedVectorMemops());
  case 51: return (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (!Subtarget->hasP9Vector());
  case 52: return (Subtarget->hasOnlyMSYNC());
  case 53: return (Subtarget->isISA3_0()) && (Subtarget->isPPC64());
  case 54: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64()) && (!Subtarget->hasP9Vector());
  case 55: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (!Subtarget->hasP9Vector());
  case 56: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (!Subtarget->hasP9Vector());
  case 57: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_0()) && (Subtarget->isPPC64());
  case 58: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isISA3_0()) && (Subtarget->isLittleEndian());
  case 59: return (Subtarget->hasExtDiv());
  case 60: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (!Subtarget->hasP10Vector());
  case 61: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_1()) && (!Subtarget->isPPC64());
  case 62: return (Subtarget->hasP9Altivec()) && (Subtarget->hasVSX());
  case 63: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (!Subtarget->hasP9Altivec()) && (Subtarget->isPPC64());
  case 64: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (!Subtarget->hasP9Altivec()) && (Subtarget->isPPC64());
  case 65: return (Subtarget->isISA2_07());
  case 66: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64()) && (!Subtarget->hasP9Vector());
  case 67: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (!Subtarget->hasP9Vector());
  case 68: return (Subtarget->hasFPU()) && (Subtarget->isPPC64());
  case 69: return (Subtarget->hasFPU()) && !((Subtarget->isPPC64()));
  case 70: return (Subtarget->hasP10Vector()) && (Subtarget->pairedVectorMemops()) && (Subtarget->hasPrefixInstrs());
  case 71: return (!Subtarget->hasP9Vector()) && (Subtarget->hasVSX());
  case 72: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && !((Subtarget->isPPC64()));
  case 73: return (Subtarget->hasVSX()) && (Subtarget->isISAFuture());
  case 74: return (Subtarget->isISA2_06());
  case 75: return (Subtarget->hasVSX()) && (!Subtarget->hasP8Vector());
  case 76: return (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_1());
  case 77: return (Subtarget->isAIXABI());
  case 78: return (!Subtarget->isAIXABI());
  case 79: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
  case 80: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
  case 81: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64()) && (Subtarget->isPPC64());
  case 82: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
  case 83: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
  case 84: return (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
  case 85: return (Subtarget->hasBPERMD());
  case 86: return (Subtarget->hasP8Altivec()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
  case 87: return (Subtarget->hasP8Altivec()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
  case 88: return (Subtarget->hasP8Altivec()) && (Subtarget->hasVSX());
  case 89: return (Subtarget->hasICBT());
  case 90: return (!Subtarget->isISAFuture());
  }
}
#endif // GET_DAGISEL_BODY

#ifdef GET_DAGISEL_DECL
bool CheckNodePredicate(SDValue Op, unsigned PredNo) const override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDValue Op, unsigned PredNo) const
#if DAGISEL_INLINE
  override
#endif
{
  switch (PredNo) {
  default: llvm_unreachable("Invalid predicate in table?");
  case 0: {
    // Predicate_atomic_cmp_swap_i16
    // Predicate_atomic_load_add_i16
    // Predicate_atomic_load_aext_16
    // Predicate_atomic_load_and_i16
    // Predicate_atomic_load_max_i16
    // Predicate_atomic_load_min_i16
    // Predicate_atomic_load_nand_i16
    // Predicate_atomic_load_or_i16
    // Predicate_atomic_load_sub_i16
    // Predicate_atomic_load_umax_i16
    // Predicate_atomic_load_umin_i16
    // Predicate_atomic_load_xor_i16
    // Predicate_atomic_load_zext_16
    // Predicate_atomic_store_16
    // Predicate_atomic_swap_i16
    // Predicate_extloadi16
    // Predicate_pre_truncsti16
    // Predicate_sextloadi16
    // Predicate_truncstorei16
    // Predicate_zextloadi16
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
return true;

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

  }
  case 2: {
    // Predicate_Msk4Imm
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return isUInt<4>(Imm); 
  }
  case 3: {
    // Predicate_immZExt16
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (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 4: {
    // Predicate_unindexedstore
    SDNode *N = Op.getNode();
    (void)N;
if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;

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

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

  }
  case 7: {
    // Predicate_atomic_cmp_swap_i32
    // Predicate_atomic_load_add_i32
    // Predicate_atomic_load_and_i32
    // Predicate_atomic_load_max_i32
    // Predicate_atomic_load_min_i32
    // Predicate_atomic_load_nand_i32
    // Predicate_atomic_load_nonext_32
    // Predicate_atomic_load_or_i32
    // Predicate_atomic_load_sub_i32
    // Predicate_atomic_load_umax_i32
    // Predicate_atomic_load_umin_i32
    // Predicate_atomic_load_xor_i32
    // Predicate_atomic_store_32
    // Predicate_atomic_swap_i32
    // Predicate_extloadi32
    // Predicate_pre_truncsti32
    // Predicate_sextloadi32
    // Predicate_truncstorei32
    // Predicate_zextloadi32
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
return true;

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

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

  }
  case 10: {
    // Predicate_imm32SExt16
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->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 11: {
    // Predicate_unindexedload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;

  }
  case 12: {
    // Predicate_Msk2Imm
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return isUInt<2>(Imm); 
  }
  case 13: {
    // Predicate_imm64SExt16
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->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 14: {
    // Predicate_zextload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
return true;

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

  }
  case 16: {
    // Predicate_atomic_cmp_swap_i64
    // Predicate_atomic_load_add_i64
    // Predicate_atomic_load_and_i64
    // Predicate_atomic_load_max_i64
    // Predicate_atomic_load_min_i64
    // Predicate_atomic_load_nand_i64
    // Predicate_atomic_load_nonext_64
    // Predicate_atomic_load_or_i64
    // Predicate_atomic_load_sub_i64
    // Predicate_atomic_load_umax_i64
    // Predicate_atomic_load_umin_i64
    // Predicate_atomic_load_xor_i64
    // Predicate_atomic_store_64
    // Predicate_atomic_swap_i64
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false;
return true;

  }
  case 17: {
    // Predicate_Msk8Imm
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return isUInt<8>(Imm); 
  }
  case 18: {
    // Predicate_sextload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
return true;

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

  }
  case 20: {
    // Predicate_pre_store
    // Predicate_pre_truncst
    SDNode *N = Op.getNode();
    (void)N;

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

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

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

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

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

  }
  case 24: {
    // Predicate_imm16ShiftedZExt
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (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 25: {
    // Predicate_atomic_load_nonext
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
return true;

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

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

  }
  case 27: {
    // Predicate_extloadf16
    // Predicate_truncstoref16
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::f16) return false;
return true;

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

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

  }
  case 29: {
    // Predicate_imm16ShiftedSExt
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (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_fpimm0neg
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;
return N->isExactlyValue(-0.0);
  }
  case 31: {
    // Predicate_vmrglw_unary_shuffle
    SDNode *N = Op.getNode();
    (void)N;

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

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

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

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

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

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

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

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

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

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

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

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

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

  }
  case 38: {
    // Predicate_VSRVSRO
    SDNode *N = Op.getNode();
    (void)N;
 return N->getOperand(1).hasOneUse(); 
  }
  case 39: {
    // Predicate_maskimm32
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (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 40: {
    // Predicate_imm34
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

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

  }
  case 41: {
    // Predicate_fpimm0
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;
 return N->isExactlyValue(+0.0); 
  }
  case 42: {
    // Predicate_nzFPImmAsi32
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;

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

  }
  case 43: {
    // Predicate_nzFPImmExactInti5
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (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 44: {
    // Predicate_nzFPImmAsi64
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;

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

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

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

  }
  case 46: {
    // Predicate_immSExt5NonZero
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm && isInt<5>(Imm); 
  }
  case 47: {
    // Predicate_i32immNonAllOneNonZero
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm && (Imm != -1); 
  }
  case 48: {
    // Predicate_vecspltisb
    SDNode *N = Op.getNode();
    (void)N;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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