1
//===- TableGen'erated file -------------------------------------*- C++ -*-===//
3
// DAG Instruction Selector for the X86 target
5
// Automatically generated file, do not edit!
7
//===----------------------------------------------------------------------===//
9
// *** NOTE: This file is #included into the middle of the target
10
// *** instruction selector class. These functions are really methods.
13
// Predicate functions.
14
inline bool Predicate_alignedload(SDNode *N) const {
16
return cast<LoadSDNode>(N)->getAlignment() >= 16;
19
inline bool Predicate_alignednontemporalstore(SDNode *N) const {
21
if (StoreSDNode *ST = dyn_cast<StoreSDNode>(N))
22
return ST->isNonTemporal() && !ST->isTruncatingStore() &&
23
ST->getAddressingMode() == ISD::UNINDEXED &&
24
ST->getAlignment() >= 16;
28
inline bool Predicate_alignedstore(SDNode *N) const {
30
return cast<StoreSDNode>(N)->getAlignment() >= 16;
33
inline bool Predicate_and_su(SDNode *N) const {
35
return N->hasOneUse();
38
inline bool Predicate_atomic_cmp_swap_16(SDNode *N) const {
40
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
43
inline bool Predicate_atomic_cmp_swap_32(SDNode *N) const {
45
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
48
inline bool Predicate_atomic_cmp_swap_64(SDNode *N) const {
50
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
53
inline bool Predicate_atomic_cmp_swap_8(SDNode *N) const {
55
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
58
inline bool Predicate_atomic_load_add_16(SDNode *N) const {
60
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
63
inline bool Predicate_atomic_load_add_32(SDNode *N) const {
65
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
68
inline bool Predicate_atomic_load_add_64(SDNode *N) const {
70
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
73
inline bool Predicate_atomic_load_add_8(SDNode *N) const {
75
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
78
inline bool Predicate_atomic_load_and_16(SDNode *N) const {
80
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
83
inline bool Predicate_atomic_load_and_32(SDNode *N) const {
85
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
88
inline bool Predicate_atomic_load_and_64(SDNode *N) const {
90
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
93
inline bool Predicate_atomic_load_and_8(SDNode *N) const {
95
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
98
inline bool Predicate_atomic_load_max_16(SDNode *N) const {
100
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
103
inline bool Predicate_atomic_load_max_32(SDNode *N) const {
105
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
108
inline bool Predicate_atomic_load_max_64(SDNode *N) const {
110
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
113
inline bool Predicate_atomic_load_max_8(SDNode *N) const {
115
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
118
inline bool Predicate_atomic_load_min_16(SDNode *N) const {
120
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
123
inline bool Predicate_atomic_load_min_32(SDNode *N) const {
125
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
128
inline bool Predicate_atomic_load_min_64(SDNode *N) const {
130
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
133
inline bool Predicate_atomic_load_min_8(SDNode *N) const {
135
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
138
inline bool Predicate_atomic_load_nand_16(SDNode *N) const {
140
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
143
inline bool Predicate_atomic_load_nand_32(SDNode *N) const {
145
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
148
inline bool Predicate_atomic_load_nand_64(SDNode *N) const {
150
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
153
inline bool Predicate_atomic_load_nand_8(SDNode *N) const {
155
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
158
inline bool Predicate_atomic_load_or_16(SDNode *N) const {
160
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
163
inline bool Predicate_atomic_load_or_32(SDNode *N) const {
165
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
168
inline bool Predicate_atomic_load_or_64(SDNode *N) const {
170
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
173
inline bool Predicate_atomic_load_or_8(SDNode *N) const {
175
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
178
inline bool Predicate_atomic_load_sub_16(SDNode *N) const {
180
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
183
inline bool Predicate_atomic_load_sub_32(SDNode *N) const {
185
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
188
inline bool Predicate_atomic_load_sub_64(SDNode *N) const {
190
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
193
inline bool Predicate_atomic_load_sub_8(SDNode *N) const {
195
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
198
inline bool Predicate_atomic_load_umax_16(SDNode *N) const {
200
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
203
inline bool Predicate_atomic_load_umax_32(SDNode *N) const {
205
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
208
inline bool Predicate_atomic_load_umax_64(SDNode *N) const {
210
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
213
inline bool Predicate_atomic_load_umax_8(SDNode *N) const {
215
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
218
inline bool Predicate_atomic_load_umin_16(SDNode *N) const {
220
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
223
inline bool Predicate_atomic_load_umin_32(SDNode *N) const {
225
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
228
inline bool Predicate_atomic_load_umin_64(SDNode *N) const {
230
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
233
inline bool Predicate_atomic_load_umin_8(SDNode *N) const {
235
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
238
inline bool Predicate_atomic_load_xor_16(SDNode *N) const {
240
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
243
inline bool Predicate_atomic_load_xor_32(SDNode *N) const {
245
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
248
inline bool Predicate_atomic_load_xor_64(SDNode *N) const {
250
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
253
inline bool Predicate_atomic_load_xor_8(SDNode *N) const {
255
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
258
inline bool Predicate_atomic_swap_16(SDNode *N) const {
260
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
263
inline bool Predicate_atomic_swap_32(SDNode *N) const {
265
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
268
inline bool Predicate_atomic_swap_64(SDNode *N) const {
270
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
273
inline bool Predicate_atomic_swap_8(SDNode *N) const {
275
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
278
inline bool Predicate_cvtff(SDNode *N) const {
280
return cast<CvtRndSatSDNode>(N)->getCvtCode() == ISD::CVT_FF;
283
inline bool Predicate_cvtfs(SDNode *N) const {
285
return cast<CvtRndSatSDNode>(N)->getCvtCode() == ISD::CVT_FS;
288
inline bool Predicate_cvtfu(SDNode *N) const {
290
return cast<CvtRndSatSDNode>(N)->getCvtCode() == ISD::CVT_FU;
293
inline bool Predicate_cvtsf(SDNode *N) const {
295
return cast<CvtRndSatSDNode>(N)->getCvtCode() == ISD::CVT_SF;
298
inline bool Predicate_cvtss(SDNode *N) const {
300
return cast<CvtRndSatSDNode>(N)->getCvtCode() == ISD::CVT_SS;
303
inline bool Predicate_cvtsu(SDNode *N) const {
305
return cast<CvtRndSatSDNode>(N)->getCvtCode() == ISD::CVT_SU;
308
inline bool Predicate_cvtuf(SDNode *N) const {
310
return cast<CvtRndSatSDNode>(N)->getCvtCode() == ISD::CVT_UF;
313
inline bool Predicate_cvtus(SDNode *N) const {
315
return cast<CvtRndSatSDNode>(N)->getCvtCode() == ISD::CVT_US;
318
inline bool Predicate_cvtuu(SDNode *N) const {
320
return cast<CvtRndSatSDNode>(N)->getCvtCode() == ISD::CVT_UU;
323
inline bool Predicate_def32(SDNode *N) const {
325
return N->getOpcode() != ISD::TRUNCATE &&
326
N->getOpcode() != TargetOpcode::EXTRACT_SUBREG &&
327
N->getOpcode() != ISD::CopyFromReg &&
328
N->getOpcode() != X86ISD::CMOV;
331
inline bool Predicate_dsload(SDNode *N) const {
333
if (const Value *Src = cast<LoadSDNode>(N)->getSrcValue())
334
if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))
335
if (PT->getAddressSpace() > 255)
340
inline bool Predicate_extload(SDNode *N) const {
342
return cast<LoadSDNode>(N)->getExtensionType() == ISD::EXTLOAD;
345
inline bool Predicate_extloadf32(SDNode *N) const {
347
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::f32;
350
inline bool Predicate_extloadf64(SDNode *N) const {
352
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::f64;
355
inline bool Predicate_extloadi1(SDNode *N) const {
357
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i1;
360
inline bool Predicate_extloadi16(SDNode *N) const {
362
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i16;
365
inline bool Predicate_extloadi32(SDNode *N) const {
367
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i32;
370
inline bool Predicate_extloadi8(SDNode *N) const {
372
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i8;
375
inline bool Predicate_fp32imm0(SDNode *inN) const {
376
ConstantFPSDNode *N = cast<ConstantFPSDNode>(inN);
378
return N->isExactlyValue(+0.0);
381
inline bool Predicate_fpimm0(SDNode *inN) const {
382
ConstantFPSDNode *N = cast<ConstantFPSDNode>(inN);
384
return N->isExactlyValue(+0.0);
387
inline bool Predicate_fpimm1(SDNode *inN) const {
388
ConstantFPSDNode *N = cast<ConstantFPSDNode>(inN);
390
return N->isExactlyValue(+1.0);
393
inline bool Predicate_fpimmneg0(SDNode *inN) const {
394
ConstantFPSDNode *N = cast<ConstantFPSDNode>(inN);
396
return N->isExactlyValue(-0.0);
399
inline bool Predicate_fpimmneg1(SDNode *inN) const {
400
ConstantFPSDNode *N = cast<ConstantFPSDNode>(inN);
402
return N->isExactlyValue(-1.0);
405
inline bool Predicate_fsload(SDNode *N) const {
407
if (const Value *Src = cast<LoadSDNode>(N)->getSrcValue())
408
if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))
409
return PT->getAddressSpace() == 257;
413
inline bool Predicate_gsload(SDNode *N) const {
415
if (const Value *Src = cast<LoadSDNode>(N)->getSrcValue())
416
if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))
417
return PT->getAddressSpace() == 256;
421
inline bool Predicate_i64immSExt32(SDNode *inN) const {
422
ConstantSDNode *N = cast<ConstantSDNode>(inN);
424
// i64immSExt32 predicate - True if the 64-bit immediate fits in a 32-bit
425
// sign extended field.
426
return (int64_t)N->getZExtValue() == (int32_t)N->getZExtValue();
429
inline bool Predicate_i64immZExt32(SDNode *inN) const {
430
ConstantSDNode *N = cast<ConstantSDNode>(inN);
432
// i64immZExt32 predicate - True if the 64-bit immediate fits in a 32-bit
433
// unsignedsign extended field.
434
return (uint64_t)N->getZExtValue() == (uint32_t)N->getZExtValue();
437
inline bool Predicate_immAllOnesV(SDNode *N) const {
439
return ISD::isBuildVectorAllOnes(N);
442
inline bool Predicate_immAllOnesV_bc(SDNode *N) const {
444
return ISD::isBuildVectorAllOnes(N);
447
inline bool Predicate_immAllZerosV(SDNode *N) const {
449
return ISD::isBuildVectorAllZeros(N);
452
inline bool Predicate_immAllZerosV_bc(SDNode *N) const {
454
return ISD::isBuildVectorAllZeros(N);
457
inline bool Predicate_immSext8(SDNode *inN) const {
458
ConstantSDNode *N = cast<ConstantSDNode>(inN);
460
return N->getSExtValue() == (int8_t)N->getSExtValue();
463
inline bool Predicate_istore(SDNode *N) const {
465
return !cast<StoreSDNode>(N)->isTruncatingStore();
468
inline bool Predicate_itruncstore(SDNode *N) const {
470
return cast<StoreSDNode>(N)->isTruncatingStore();
473
inline bool Predicate_load(SDNode *N) const {
475
return cast<LoadSDNode>(N)->getExtensionType() == ISD::NON_EXTLOAD;
478
inline bool Predicate_loadi16(SDNode *N) const {
480
LoadSDNode *LD = cast<LoadSDNode>(N);
481
if (const Value *Src = LD->getSrcValue())
482
if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))
483
if (PT->getAddressSpace() > 255)
485
ISD::LoadExtType ExtType = LD->getExtensionType();
486
if (ExtType == ISD::NON_EXTLOAD)
488
if (ExtType == ISD::EXTLOAD)
489
return LD->getAlignment() >= 2 && !LD->isVolatile();
493
inline bool Predicate_loadi16_anyext(SDNode *N) const {
495
LoadSDNode *LD = cast<LoadSDNode>(N);
496
if (const Value *Src = LD->getSrcValue())
497
if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))
498
if (PT->getAddressSpace() > 255)
500
ISD::LoadExtType ExtType = LD->getExtensionType();
501
if (ExtType == ISD::EXTLOAD)
502
return LD->getAlignment() >= 2 && !LD->isVolatile();
506
inline bool Predicate_loadi32(SDNode *N) const {
508
LoadSDNode *LD = cast<LoadSDNode>(N);
509
if (const Value *Src = LD->getSrcValue())
510
if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))
511
if (PT->getAddressSpace() > 255)
513
ISD::LoadExtType ExtType = LD->getExtensionType();
514
if (ExtType == ISD::NON_EXTLOAD)
516
if (ExtType == ISD::EXTLOAD)
517
return LD->getAlignment() >= 4 && !LD->isVolatile();
521
inline bool Predicate_memop(SDNode *N) const {
523
return Subtarget->hasVectorUAMem()
524
|| cast<LoadSDNode>(N)->getAlignment() >= 16;
527
inline bool Predicate_memop64(SDNode *N) const {
529
return cast<LoadSDNode>(N)->getAlignment() >= 8;
532
inline bool Predicate_mmx_pshufw(SDNode *N) const {
534
return X86::isPSHUFDMask(cast<ShuffleVectorSDNode>(N));
537
inline bool Predicate_mmx_unpckh(SDNode *N) const {
539
return X86::isUNPCKHMask(cast<ShuffleVectorSDNode>(N));
542
inline bool Predicate_mmx_unpckh_undef(SDNode *N) const {
544
return X86::isUNPCKH_v_undef_Mask(cast<ShuffleVectorSDNode>(N));
547
inline bool Predicate_mmx_unpckl(SDNode *N) const {
549
return X86::isUNPCKLMask(cast<ShuffleVectorSDNode>(N));
552
inline bool Predicate_mmx_unpckl_undef(SDNode *N) const {
554
return X86::isUNPCKL_v_undef_Mask(cast<ShuffleVectorSDNode>(N));
557
inline bool Predicate_movddup(SDNode *N) const {
559
return X86::isMOVDDUPMask(cast<ShuffleVectorSDNode>(N));
562
inline bool Predicate_movhlps(SDNode *N) const {
564
return X86::isMOVHLPSMask(cast<ShuffleVectorSDNode>(N));
567
inline bool Predicate_movhlps_undef(SDNode *N) const {
569
return X86::isMOVHLPS_v_undef_Mask(cast<ShuffleVectorSDNode>(N));
572
inline bool Predicate_movl(SDNode *N) const {
574
return X86::isMOVLMask(cast<ShuffleVectorSDNode>(N));
577
inline bool Predicate_movlhps(SDNode *N) const {
579
return X86::isMOVLHPSMask(cast<ShuffleVectorSDNode>(N));
582
inline bool Predicate_movlp(SDNode *N) const {
584
return X86::isMOVLPMask(cast<ShuffleVectorSDNode>(N));
587
inline bool Predicate_movshdup(SDNode *N) const {
589
return X86::isMOVSHDUPMask(cast<ShuffleVectorSDNode>(N));
592
inline bool Predicate_movsldup(SDNode *N) const {
594
return X86::isMOVSLDUPMask(cast<ShuffleVectorSDNode>(N));
597
inline bool Predicate_nontemporalstore(SDNode *N) const {
599
if (StoreSDNode *ST = dyn_cast<StoreSDNode>(N))
600
return ST->isNonTemporal();
604
inline bool Predicate_or_is_add(SDNode *N) const {
606
if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N->getOperand(1)))
607
return CurDAG->MaskedValueIsZero(N->getOperand(0), CN->getAPIntValue());
609
unsigned BitWidth = N->getValueType(0).getScalarType().getSizeInBits();
610
APInt Mask = APInt::getAllOnesValue(BitWidth);
611
APInt KnownZero0, KnownOne0;
612
CurDAG->ComputeMaskedBits(N->getOperand(0), Mask, KnownZero0, KnownOne0, 0);
613
APInt KnownZero1, KnownOne1;
614
CurDAG->ComputeMaskedBits(N->getOperand(1), Mask, KnownZero1, KnownOne1, 0);
615
return (~KnownZero0 & ~KnownZero1) == 0;
619
inline bool Predicate_palign(SDNode *N) const {
621
return X86::isPALIGNRMask(cast<ShuffleVectorSDNode>(N));
624
inline bool Predicate_post_store(SDNode *N) const {
626
ISD::MemIndexedMode AM = cast<StoreSDNode>(N)->getAddressingMode();
627
return AM == ISD::POST_INC || AM == ISD::POST_DEC;
630
inline bool Predicate_post_truncst(SDNode *N) const {
632
ISD::MemIndexedMode AM = cast<StoreSDNode>(N)->getAddressingMode();
633
return AM == ISD::POST_INC || AM == ISD::POST_DEC;
636
inline bool Predicate_post_truncstf32(SDNode *N) const {
638
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::f32;
641
inline bool Predicate_post_truncsti1(SDNode *N) const {
643
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::i1;
646
inline bool Predicate_post_truncsti16(SDNode *N) const {
648
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::i16;
651
inline bool Predicate_post_truncsti32(SDNode *N) const {
653
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::i32;
656
inline bool Predicate_post_truncsti8(SDNode *N) const {
658
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::i8;
661
inline bool Predicate_pre_store(SDNode *N) const {
663
ISD::MemIndexedMode AM = cast<StoreSDNode>(N)->getAddressingMode();
664
return AM == ISD::PRE_INC || AM == ISD::PRE_DEC;
667
inline bool Predicate_pre_truncst(SDNode *N) const {
669
ISD::MemIndexedMode AM = cast<StoreSDNode>(N)->getAddressingMode();
670
return AM == ISD::PRE_INC || AM == ISD::PRE_DEC;
673
inline bool Predicate_pre_truncstf32(SDNode *N) const {
675
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::f32;
678
inline bool Predicate_pre_truncsti1(SDNode *N) const {
680
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::i1;
683
inline bool Predicate_pre_truncsti16(SDNode *N) const {
685
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::i16;
688
inline bool Predicate_pre_truncsti32(SDNode *N) const {
690
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::i32;
693
inline bool Predicate_pre_truncsti8(SDNode *N) const {
695
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::i8;
698
inline bool Predicate_pshufd(SDNode *N) const {
700
return X86::isPSHUFDMask(cast<ShuffleVectorSDNode>(N));
703
inline bool Predicate_pshufhw(SDNode *N) const {
705
return X86::isPSHUFHWMask(cast<ShuffleVectorSDNode>(N));
708
inline bool Predicate_pshuflw(SDNode *N) const {
710
return X86::isPSHUFLWMask(cast<ShuffleVectorSDNode>(N));
713
inline bool Predicate_sextload(SDNode *N) const {
715
return cast<LoadSDNode>(N)->getExtensionType() == ISD::SEXTLOAD;
718
inline bool Predicate_sextloadi1(SDNode *N) const {
720
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i1;
723
inline bool Predicate_sextloadi16(SDNode *N) const {
725
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i16;
728
inline bool Predicate_sextloadi32(SDNode *N) const {
730
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i32;
733
inline bool Predicate_sextloadi8(SDNode *N) const {
735
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i8;
738
inline bool Predicate_shld(SDNode *N) const {
740
assert(N->getOpcode() == ISD::OR);
741
return N->getOperand(0).getOpcode() == ISD::SHL &&
742
N->getOperand(1).getOpcode() == ISD::SRL &&
743
isa<ConstantSDNode>(N->getOperand(0).getOperand(1)) &&
744
isa<ConstantSDNode>(N->getOperand(1).getOperand(1)) &&
745
N->getOperand(0).getConstantOperandVal(1) ==
746
N->getValueSizeInBits(0) - N->getOperand(1).getConstantOperandVal(1);
749
inline bool Predicate_shrd(SDNode *N) const {
751
assert(N->getOpcode() == ISD::OR);
752
return N->getOperand(0).getOpcode() == ISD::SRL &&
753
N->getOperand(1).getOpcode() == ISD::SHL &&
754
isa<ConstantSDNode>(N->getOperand(0).getOperand(1)) &&
755
isa<ConstantSDNode>(N->getOperand(1).getOperand(1)) &&
756
N->getOperand(0).getConstantOperandVal(1) ==
757
N->getValueSizeInBits(0) - N->getOperand(1).getConstantOperandVal(1);
760
inline bool Predicate_shufp(SDNode *N) const {
762
return X86::isSHUFPMask(cast<ShuffleVectorSDNode>(N));
765
inline bool Predicate_splat_lo(SDNode *N) const {
767
ShuffleVectorSDNode *SVOp = cast<ShuffleVectorSDNode>(N);
768
return SVOp->isSplat() && SVOp->getSplatIndex() == 0;
771
inline bool Predicate_srl_su(SDNode *N) const {
773
return N->hasOneUse();
776
inline bool Predicate_store(SDNode *N) const {
778
return !cast<StoreSDNode>(N)->isTruncatingStore();
781
inline bool Predicate_trunc_su(SDNode *N) const {
783
return N->hasOneUse();
786
inline bool Predicate_truncstore(SDNode *N) const {
788
return cast<StoreSDNode>(N)->isTruncatingStore();
791
inline bool Predicate_truncstoref32(SDNode *N) const {
793
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::f32;
796
inline bool Predicate_truncstoref64(SDNode *N) const {
798
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::f64;
801
inline bool Predicate_truncstorei16(SDNode *N) const {
803
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::i16;
806
inline bool Predicate_truncstorei32(SDNode *N) const {
808
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::i32;
811
inline bool Predicate_truncstorei8(SDNode *N) const {
813
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::i8;
816
inline bool Predicate_unalignednontemporalstore(SDNode *N) const {
818
if (StoreSDNode *ST = dyn_cast<StoreSDNode>(N))
819
return ST->isNonTemporal() &&
820
ST->getAlignment() < 16;
824
inline bool Predicate_unindexedload(SDNode *N) const {
826
return cast<LoadSDNode>(N)->getAddressingMode() == ISD::UNINDEXED;
829
inline bool Predicate_unindexedstore(SDNode *N) const {
831
return cast<StoreSDNode>(N)->getAddressingMode() == ISD::UNINDEXED;
834
inline bool Predicate_unpckh(SDNode *N) const {
836
return X86::isUNPCKHMask(cast<ShuffleVectorSDNode>(N));
839
inline bool Predicate_unpckh_undef(SDNode *N) const {
841
return X86::isUNPCKH_v_undef_Mask(cast<ShuffleVectorSDNode>(N));
844
inline bool Predicate_unpckl(SDNode *N) const {
846
return X86::isUNPCKLMask(cast<ShuffleVectorSDNode>(N));
849
inline bool Predicate_unpckl_undef(SDNode *N) const {
851
return X86::isUNPCKL_v_undef_Mask(cast<ShuffleVectorSDNode>(N));
854
inline bool Predicate_vtFP(SDNode *inN) const {
855
VTSDNode *N = cast<VTSDNode>(inN);
856
return N->getVT().isFloatingPoint();
858
inline bool Predicate_vtInt(SDNode *inN) const {
859
VTSDNode *N = cast<VTSDNode>(inN);
860
return N->getVT().isInteger();
862
inline bool Predicate_zextload(SDNode *N) const {
864
return cast<LoadSDNode>(N)->getExtensionType() == ISD::ZEXTLOAD;
867
inline bool Predicate_zextloadi1(SDNode *N) const {
869
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i1;
872
inline bool Predicate_zextloadi16(SDNode *N) const {
874
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i16;
877
inline bool Predicate_zextloadi32(SDNode *N) const {
879
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i32;
882
inline bool Predicate_zextloadi8(SDNode *N) const {
884
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i8;
889
// The main instruction selector code.
890
SDNode *SelectCode(SDNode *N) {
891
// Opcodes are emitted as 2 bytes, TARGET_OPCODE handles this.
892
#define TARGET_OPCODE(X) X & 255, unsigned(X) >> 8
893
static const unsigned char MatcherTable[] = {
894
OPC_SwitchOpcode , 105|128,2|128,1, ISD::STORE,
896
OPC_CheckPredicate, 0,
901
OPC_CheckChild1Type, MVT::v4f32,
903
OPC_CheckPatternPredicate, 0,
904
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
905
OPC_EmitMergeInputChains, 1, 0,
906
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVNTPSmr), 0|OPFL_Chain|OPFL_MemRefs,
907
0, 6, 3, 4, 5, 6, 7, 1,
909
OPC_CheckChild1Type, MVT::v2f64,
911
OPC_CheckPatternPredicate, 1,
912
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
913
OPC_EmitMergeInputChains, 1, 0,
914
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVNTDQ_64mr), 0|OPFL_Chain|OPFL_MemRefs,
915
0, 6, 3, 4, 5, 6, 7, 1,
917
OPC_CheckChild1Type, MVT::v2i64,
919
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
920
OPC_EmitMergeInputChains, 1, 0,
921
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVNTDQ_64mr), 0|OPFL_Chain|OPFL_MemRefs,
922
0, 6, 1, 3, 4, 5, 6, 7,
925
OPC_CheckPredicate, 1,
930
OPC_CheckChild1Type, MVT::i32,
932
OPC_CheckPatternPredicate, 1,
933
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
934
OPC_EmitMergeInputChains, 1, 0,
935
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVNTImr), 0|OPFL_Chain|OPFL_MemRefs,
936
0, 6, 3, 4, 5, 6, 7, 1,
938
OPC_CheckChild1Type, MVT::i64,
940
OPC_CheckPatternPredicate, 1,
941
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
942
OPC_EmitMergeInputChains, 1, 0,
943
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVNTI_64mr), 0|OPFL_Chain|OPFL_MemRefs,
944
0, 6, 3, 4, 5, 6, 7, 1,
947
OPC_CheckPredicate, 0,
952
OPC_CheckChild1Type, MVT::v2f64,
954
OPC_CheckPatternPredicate, 1,
955
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
956
OPC_EmitMergeInputChains, 1, 0,
957
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVNTPDmr), 0|OPFL_Chain|OPFL_MemRefs,
958
0, 6, 3, 4, 5, 6, 7, 1,
960
OPC_CheckChild1Type, MVT::v4f32,
962
OPC_CheckPatternPredicate, 1,
963
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
964
OPC_EmitMergeInputChains, 1, 0,
965
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVNTDQmr), 0|OPFL_Chain|OPFL_MemRefs,
966
0, 6, 3, 4, 5, 6, 7, 1,
968
OPC_CheckChild1Type, MVT::v4i32,
970
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
971
OPC_EmitMergeInputChains, 1, 0,
972
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVNTDQmr), 0|OPFL_Chain|OPFL_MemRefs,
973
0, 6, 1, 3, 4, 5, 6, 7,
976
OPC_CheckPredicate, 2,
977
OPC_Scope, 54|128,121,
978
OPC_CheckPredicate, 3,
981
OPC_Scope, 64|128,120,
983
OPC_SwitchOpcode , 94|128,20, ISD::OR,
986
OPC_SwitchOpcode , 100|128,4, ISD::SRL,
989
OPC_CheckOpcode, ISD::LOAD,
990
OPC_CheckPredicate, 4,
992
OPC_CheckPredicate, 5,
995
OPC_CheckFoldableChainNode,
999
OPC_CheckOpcode, ISD::TRUNCATE,
1002
OPC_CheckChild0Type, MVT::i32,
1003
OPC_CheckType, MVT::i8,
1007
OPC_CheckOpcode, ISD::SHL,
1010
OPC_CheckOpcode, ISD::TRUNCATE,
1012
OPC_CheckOpcode, ISD::SUB,
1014
OPC_CheckInteger, 32,
1019
OPC_CheckType, MVT::i32,
1021
OPC_CheckType, MVT::i8,
1024
OPC_CheckType, MVT::i32,
1029
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1030
OPC_EmitMergeInputChains, 2, 0, 1,
1031
OPC_EmitCopyToReg, 4, X86::ECX,
1032
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1033
0, 6, 6, 7, 8, 9, 10, 5,
1035
OPC_CheckPredicate, 6,
1038
OPC_CheckFoldableChainNode,
1042
OPC_CheckOpcode, ISD::TRUNCATE,
1045
OPC_CheckChild0Type, MVT::i16,
1046
OPC_CheckType, MVT::i8,
1050
OPC_CheckOpcode, ISD::SHL,
1053
OPC_CheckOpcode, ISD::TRUNCATE,
1055
OPC_CheckOpcode, ISD::SUB,
1057
OPC_CheckInteger, 16,
1062
OPC_CheckType, MVT::i16,
1064
OPC_CheckType, MVT::i8,
1067
OPC_CheckType, MVT::i16,
1072
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1073
OPC_EmitMergeInputChains, 2, 0, 1,
1074
OPC_EmitCopyToReg, 4, X86::CX,
1075
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1076
0, 6, 6, 7, 8, 9, 10, 5,
1081
OPC_CheckOpcode, ISD::TRUNCATE,
1083
OPC_CheckOpcode, ISD::SUB,
1086
OPC_CheckInteger, 32,
1090
OPC_CheckType, MVT::i32,
1092
OPC_CheckType, MVT::i8,
1096
OPC_CheckOpcode, ISD::SHL,
1098
OPC_CheckOpcode, ISD::LOAD,
1099
OPC_CheckPredicate, 4,
1100
OPC_CheckPredicate, 5,
1103
OPC_CheckFoldableChainNode,
1107
OPC_CheckOpcode, ISD::TRUNCATE,
1111
OPC_CheckType, MVT::i8,
1114
OPC_CheckType, MVT::i32,
1119
OPC_CheckComplexPat, /*CP*/0, /*#*/5,
1120
OPC_EmitMergeInputChains, 2, 0, 4,
1121
OPC_EmitCopyToReg, 3, X86::ECX,
1122
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1123
0, 6, 6, 7, 8, 9, 10, 1,
1125
OPC_CheckInteger, 16,
1129
OPC_CheckType, MVT::i16,
1131
OPC_CheckType, MVT::i8,
1135
OPC_CheckOpcode, ISD::SHL,
1137
OPC_CheckOpcode, ISD::LOAD,
1138
OPC_CheckPredicate, 4,
1139
OPC_CheckPredicate, 6,
1142
OPC_CheckFoldableChainNode,
1146
OPC_CheckOpcode, ISD::TRUNCATE,
1150
OPC_CheckType, MVT::i8,
1153
OPC_CheckType, MVT::i16,
1158
OPC_CheckComplexPat, /*CP*/0, /*#*/5,
1159
OPC_EmitMergeInputChains, 2, 0, 4,
1160
OPC_EmitCopyToReg, 3, X86::CX,
1161
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1162
0, 6, 6, 7, 8, 9, 10, 1,
1166
OPC_CheckOpcode, ISD::LOAD,
1167
OPC_CheckPredicate, 4,
1169
OPC_CheckPredicate, 5,
1172
OPC_CheckFoldableChainNode,
1177
OPC_CheckChild1Type, MVT::i8,
1180
OPC_CheckOpcode, ISD::SHL,
1183
OPC_CheckOpcode, ISD::SUB,
1185
OPC_CheckInteger, 32,
1190
OPC_CheckType, MVT::i8,
1193
OPC_CheckType, MVT::i32,
1198
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1199
OPC_EmitMergeInputChains, 2, 0, 1,
1200
OPC_EmitCopyToReg, 4, X86::CL,
1201
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1202
0, 6, 6, 7, 8, 9, 10, 5,
1204
OPC_CheckPredicate, 6,
1207
OPC_CheckFoldableChainNode,
1212
OPC_CheckChild1Type, MVT::i8,
1215
OPC_CheckOpcode, ISD::SHL,
1218
OPC_CheckOpcode, ISD::SUB,
1220
OPC_CheckInteger, 16,
1225
OPC_CheckType, MVT::i8,
1228
OPC_CheckType, MVT::i16,
1233
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1234
OPC_EmitMergeInputChains, 2, 0, 1,
1235
OPC_EmitCopyToReg, 4, X86::CL,
1236
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1237
0, 6, 6, 7, 8, 9, 10, 5,
1242
OPC_CheckOpcode, ISD::SUB,
1245
OPC_CheckInteger, 32,
1249
OPC_CheckType, MVT::i8,
1253
OPC_CheckOpcode, ISD::SHL,
1255
OPC_CheckOpcode, ISD::LOAD,
1256
OPC_CheckPredicate, 4,
1257
OPC_CheckPredicate, 5,
1260
OPC_CheckFoldableChainNode,
1267
OPC_CheckType, MVT::i32,
1272
OPC_CheckComplexPat, /*CP*/0, /*#*/5,
1273
OPC_EmitMergeInputChains, 2, 0, 4,
1274
OPC_EmitCopyToReg, 3, X86::CL,
1275
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1276
0, 6, 6, 7, 8, 9, 10, 1,
1278
OPC_CheckInteger, 16,
1282
OPC_CheckType, MVT::i8,
1286
OPC_CheckOpcode, ISD::SHL,
1288
OPC_CheckOpcode, ISD::LOAD,
1289
OPC_CheckPredicate, 4,
1290
OPC_CheckPredicate, 6,
1293
OPC_CheckFoldableChainNode,
1300
OPC_CheckType, MVT::i16,
1305
OPC_CheckComplexPat, /*CP*/0, /*#*/5,
1306
OPC_EmitMergeInputChains, 2, 0, 4,
1307
OPC_EmitCopyToReg, 3, X86::CL,
1308
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1309
0, 6, 6, 7, 8, 9, 10, 1,
1312
100|128,4, ISD::SHL,
1313
OPC_Scope, 40|128,1,
1315
OPC_CheckOpcode, ISD::LOAD,
1316
OPC_CheckPredicate, 4,
1318
OPC_CheckPredicate, 5,
1321
OPC_CheckFoldableChainNode,
1325
OPC_CheckOpcode, ISD::TRUNCATE,
1328
OPC_CheckChild0Type, MVT::i32,
1329
OPC_CheckType, MVT::i8,
1333
OPC_CheckOpcode, ISD::SRL,
1336
OPC_CheckOpcode, ISD::TRUNCATE,
1338
OPC_CheckOpcode, ISD::SUB,
1340
OPC_CheckInteger, 32,
1345
OPC_CheckType, MVT::i32,
1347
OPC_CheckType, MVT::i8,
1350
OPC_CheckType, MVT::i32,
1355
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1356
OPC_EmitMergeInputChains, 2, 0, 1,
1357
OPC_EmitCopyToReg, 4, X86::ECX,
1358
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1359
0, 6, 6, 7, 8, 9, 10, 5,
1361
OPC_CheckPredicate, 6,
1364
OPC_CheckFoldableChainNode,
1368
OPC_CheckOpcode, ISD::TRUNCATE,
1371
OPC_CheckChild0Type, MVT::i16,
1372
OPC_CheckType, MVT::i8,
1376
OPC_CheckOpcode, ISD::SRL,
1379
OPC_CheckOpcode, ISD::TRUNCATE,
1381
OPC_CheckOpcode, ISD::SUB,
1383
OPC_CheckInteger, 16,
1388
OPC_CheckType, MVT::i16,
1390
OPC_CheckType, MVT::i8,
1393
OPC_CheckType, MVT::i16,
1398
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1399
OPC_EmitMergeInputChains, 2, 0, 1,
1400
OPC_EmitCopyToReg, 4, X86::CX,
1401
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1402
0, 6, 6, 7, 8, 9, 10, 5,
1407
OPC_CheckOpcode, ISD::TRUNCATE,
1409
OPC_CheckOpcode, ISD::SUB,
1412
OPC_CheckInteger, 32,
1416
OPC_CheckType, MVT::i32,
1418
OPC_CheckType, MVT::i8,
1422
OPC_CheckOpcode, ISD::SRL,
1424
OPC_CheckOpcode, ISD::LOAD,
1425
OPC_CheckPredicate, 4,
1426
OPC_CheckPredicate, 5,
1429
OPC_CheckFoldableChainNode,
1433
OPC_CheckOpcode, ISD::TRUNCATE,
1437
OPC_CheckType, MVT::i8,
1440
OPC_CheckType, MVT::i32,
1445
OPC_CheckComplexPat, /*CP*/0, /*#*/5,
1446
OPC_EmitMergeInputChains, 2, 0, 4,
1447
OPC_EmitCopyToReg, 3, X86::ECX,
1448
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1449
0, 6, 6, 7, 8, 9, 10, 1,
1451
OPC_CheckInteger, 16,
1455
OPC_CheckType, MVT::i16,
1457
OPC_CheckType, MVT::i8,
1461
OPC_CheckOpcode, ISD::SRL,
1463
OPC_CheckOpcode, ISD::LOAD,
1464
OPC_CheckPredicate, 4,
1465
OPC_CheckPredicate, 6,
1468
OPC_CheckFoldableChainNode,
1472
OPC_CheckOpcode, ISD::TRUNCATE,
1476
OPC_CheckType, MVT::i8,
1479
OPC_CheckType, MVT::i16,
1484
OPC_CheckComplexPat, /*CP*/0, /*#*/5,
1485
OPC_EmitMergeInputChains, 2, 0, 4,
1486
OPC_EmitCopyToReg, 3, X86::CX,
1487
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1488
0, 6, 6, 7, 8, 9, 10, 1,
1492
OPC_CheckOpcode, ISD::LOAD,
1493
OPC_CheckPredicate, 4,
1495
OPC_CheckPredicate, 5,
1498
OPC_CheckFoldableChainNode,
1503
OPC_CheckChild1Type, MVT::i8,
1506
OPC_CheckOpcode, ISD::SRL,
1509
OPC_CheckOpcode, ISD::SUB,
1511
OPC_CheckInteger, 32,
1516
OPC_CheckType, MVT::i8,
1519
OPC_CheckType, MVT::i32,
1524
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1525
OPC_EmitMergeInputChains, 2, 0, 1,
1526
OPC_EmitCopyToReg, 4, X86::CL,
1527
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1528
0, 6, 6, 7, 8, 9, 10, 5,
1530
OPC_CheckPredicate, 6,
1533
OPC_CheckFoldableChainNode,
1538
OPC_CheckChild1Type, MVT::i8,
1541
OPC_CheckOpcode, ISD::SRL,
1544
OPC_CheckOpcode, ISD::SUB,
1546
OPC_CheckInteger, 16,
1551
OPC_CheckType, MVT::i8,
1554
OPC_CheckType, MVT::i16,
1559
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1560
OPC_EmitMergeInputChains, 2, 0, 1,
1561
OPC_EmitCopyToReg, 4, X86::CL,
1562
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1563
0, 6, 6, 7, 8, 9, 10, 5,
1568
OPC_CheckOpcode, ISD::SUB,
1571
OPC_CheckInteger, 32,
1575
OPC_CheckType, MVT::i8,
1579
OPC_CheckOpcode, ISD::SRL,
1581
OPC_CheckOpcode, ISD::LOAD,
1582
OPC_CheckPredicate, 4,
1583
OPC_CheckPredicate, 5,
1586
OPC_CheckFoldableChainNode,
1593
OPC_CheckType, MVT::i32,
1598
OPC_CheckComplexPat, /*CP*/0, /*#*/5,
1599
OPC_EmitMergeInputChains, 2, 0, 4,
1600
OPC_EmitCopyToReg, 3, X86::CL,
1601
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1602
0, 6, 6, 7, 8, 9, 10, 1,
1604
OPC_CheckInteger, 16,
1608
OPC_CheckType, MVT::i8,
1612
OPC_CheckOpcode, ISD::SRL,
1614
OPC_CheckOpcode, ISD::LOAD,
1615
OPC_CheckPredicate, 4,
1616
OPC_CheckPredicate, 6,
1619
OPC_CheckFoldableChainNode,
1626
OPC_CheckType, MVT::i16,
1631
OPC_CheckComplexPat, /*CP*/0, /*#*/5,
1632
OPC_EmitMergeInputChains, 2, 0, 4,
1633
OPC_EmitCopyToReg, 3, X86::CL,
1634
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
1635
0, 6, 6, 7, 8, 9, 10, 1,
1640
OPC_CheckPredicate, 7,
1642
OPC_CheckOpcode, ISD::SRL,
1644
OPC_CheckOpcode, ISD::LOAD,
1645
OPC_CheckPredicate, 4,
1646
OPC_CheckPredicate, 5,
1649
OPC_CheckFoldableChainNode,
1654
OPC_CheckOpcode, ISD::Constant,
1655
OPC_CheckType, MVT::i8,
1659
OPC_CheckOpcode, ISD::SHL,
1662
OPC_CheckOpcode, ISD::Constant,
1663
OPC_CheckType, MVT::i8,
1666
OPC_CheckType, MVT::i32,
1671
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1672
OPC_EmitMergeInputChains, 2, 0, 1,
1673
OPC_EmitConvertToTarget, 3,
1674
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32mri8), 0|OPFL_Chain|OPFL_MemRefs,
1675
0, 7, 5, 6, 7, 8, 9, 4, 10,
1677
OPC_CheckPredicate, 8,
1679
OPC_CheckOpcode, ISD::SHL,
1681
OPC_CheckOpcode, ISD::LOAD,
1682
OPC_CheckPredicate, 4,
1683
OPC_CheckPredicate, 5,
1686
OPC_CheckFoldableChainNode,
1691
OPC_CheckOpcode, ISD::Constant,
1692
OPC_CheckType, MVT::i8,
1696
OPC_CheckOpcode, ISD::SRL,
1699
OPC_CheckOpcode, ISD::Constant,
1700
OPC_CheckType, MVT::i8,
1703
OPC_CheckType, MVT::i32,
1708
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1709
OPC_EmitMergeInputChains, 2, 0, 1,
1710
OPC_EmitConvertToTarget, 3,
1711
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32mri8), 0|OPFL_Chain|OPFL_MemRefs,
1712
0, 7, 5, 6, 7, 8, 9, 4, 10,
1714
OPC_CheckPredicate, 7,
1716
OPC_CheckOpcode, ISD::SRL,
1718
OPC_CheckOpcode, ISD::LOAD,
1719
OPC_CheckPredicate, 4,
1720
OPC_CheckPredicate, 6,
1723
OPC_CheckFoldableChainNode,
1728
OPC_CheckOpcode, ISD::Constant,
1729
OPC_CheckType, MVT::i8,
1733
OPC_CheckOpcode, ISD::SHL,
1736
OPC_CheckOpcode, ISD::Constant,
1737
OPC_CheckType, MVT::i8,
1740
OPC_CheckType, MVT::i16,
1745
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1746
OPC_EmitMergeInputChains, 2, 0, 1,
1747
OPC_EmitConvertToTarget, 3,
1748
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16mri8), 0|OPFL_Chain|OPFL_MemRefs,
1749
0, 7, 5, 6, 7, 8, 9, 4, 10,
1751
OPC_CheckPredicate, 8,
1753
OPC_CheckOpcode, ISD::SHL,
1755
OPC_CheckOpcode, ISD::LOAD,
1756
OPC_CheckPredicate, 4,
1757
OPC_CheckPredicate, 6,
1760
OPC_CheckFoldableChainNode,
1765
OPC_CheckOpcode, ISD::Constant,
1766
OPC_CheckType, MVT::i8,
1770
OPC_CheckOpcode, ISD::SRL,
1773
OPC_CheckOpcode, ISD::Constant,
1774
OPC_CheckType, MVT::i8,
1777
OPC_CheckType, MVT::i16,
1782
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1783
OPC_EmitMergeInputChains, 2, 0, 1,
1784
OPC_EmitConvertToTarget, 3,
1785
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16mri8), 0|OPFL_Chain|OPFL_MemRefs,
1786
0, 7, 5, 6, 7, 8, 9, 4, 10,
1788
OPC_CheckPredicate, 7,
1790
OPC_CheckOpcode, ISD::SRL,
1792
OPC_CheckOpcode, ISD::LOAD,
1793
OPC_CheckPredicate, 4,
1794
OPC_CheckPredicate, 9,
1795
OPC_CheckPredicate, 10,
1798
OPC_CheckFoldableChainNode,
1803
OPC_CheckOpcode, ISD::Constant,
1804
OPC_CheckType, MVT::i8,
1808
OPC_CheckOpcode, ISD::SHL,
1811
OPC_CheckOpcode, ISD::Constant,
1812
OPC_CheckType, MVT::i8,
1815
OPC_CheckType, MVT::i64,
1820
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1821
OPC_EmitMergeInputChains, 2, 0, 1,
1822
OPC_EmitConvertToTarget, 3,
1823
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD64mri8), 0|OPFL_Chain|OPFL_MemRefs,
1824
0, 7, 5, 6, 7, 8, 9, 4, 10,
1826
OPC_CheckPredicate, 8,
1828
OPC_CheckOpcode, ISD::SHL,
1830
OPC_CheckOpcode, ISD::LOAD,
1831
OPC_CheckPredicate, 4,
1832
OPC_CheckPredicate, 9,
1833
OPC_CheckPredicate, 10,
1836
OPC_CheckFoldableChainNode,
1841
OPC_CheckOpcode, ISD::Constant,
1842
OPC_CheckType, MVT::i8,
1846
OPC_CheckOpcode, ISD::SRL,
1849
OPC_CheckOpcode, ISD::Constant,
1850
OPC_CheckType, MVT::i8,
1853
OPC_CheckType, MVT::i64,
1858
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
1859
OPC_EmitMergeInputChains, 2, 0, 1,
1860
OPC_EmitConvertToTarget, 3,
1861
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD64mri8), 0|OPFL_Chain|OPFL_MemRefs,
1862
0, 7, 5, 6, 7, 8, 9, 4, 10,
1864
OPC_CheckPredicate, 7,
1866
OPC_CheckOpcode, ISD::SHL,
1869
OPC_CheckOpcode, ISD::Constant,
1870
OPC_CheckType, MVT::i8,
1874
OPC_CheckOpcode, ISD::SRL,
1876
OPC_CheckOpcode, ISD::LOAD,
1877
OPC_CheckPredicate, 4,
1878
OPC_CheckPredicate, 5,
1881
OPC_CheckFoldableChainNode,
1886
OPC_CheckOpcode, ISD::Constant,
1887
OPC_CheckType, MVT::i8,
1890
OPC_CheckType, MVT::i32,
1895
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
1896
OPC_EmitMergeInputChains, 2, 0, 2,
1897
OPC_EmitConvertToTarget, 4,
1898
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32mri8), 0|OPFL_Chain|OPFL_MemRefs,
1899
0, 7, 5, 6, 7, 8, 9, 1, 10,
1901
OPC_CheckPredicate, 8,
1903
OPC_CheckOpcode, ISD::SRL,
1906
OPC_CheckOpcode, ISD::Constant,
1907
OPC_CheckType, MVT::i8,
1911
OPC_CheckOpcode, ISD::SHL,
1913
OPC_CheckOpcode, ISD::LOAD,
1914
OPC_CheckPredicate, 4,
1915
OPC_CheckPredicate, 5,
1918
OPC_CheckFoldableChainNode,
1923
OPC_CheckOpcode, ISD::Constant,
1924
OPC_CheckType, MVT::i8,
1927
OPC_CheckType, MVT::i32,
1932
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
1933
OPC_EmitMergeInputChains, 2, 0, 2,
1934
OPC_EmitConvertToTarget, 4,
1935
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32mri8), 0|OPFL_Chain|OPFL_MemRefs,
1936
0, 7, 5, 6, 7, 8, 9, 1, 10,
1938
OPC_CheckPredicate, 7,
1940
OPC_CheckOpcode, ISD::SHL,
1943
OPC_CheckOpcode, ISD::Constant,
1944
OPC_CheckType, MVT::i8,
1948
OPC_CheckOpcode, ISD::SRL,
1950
OPC_CheckOpcode, ISD::LOAD,
1951
OPC_CheckPredicate, 4,
1952
OPC_CheckPredicate, 6,
1955
OPC_CheckFoldableChainNode,
1960
OPC_CheckOpcode, ISD::Constant,
1961
OPC_CheckType, MVT::i8,
1964
OPC_CheckType, MVT::i16,
1969
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
1970
OPC_EmitMergeInputChains, 2, 0, 2,
1971
OPC_EmitConvertToTarget, 4,
1972
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16mri8), 0|OPFL_Chain|OPFL_MemRefs,
1973
0, 7, 5, 6, 7, 8, 9, 1, 10,
1975
OPC_CheckPredicate, 8,
1977
OPC_CheckOpcode, ISD::SRL,
1980
OPC_CheckOpcode, ISD::Constant,
1981
OPC_CheckType, MVT::i8,
1985
OPC_CheckOpcode, ISD::SHL,
1987
OPC_CheckOpcode, ISD::LOAD,
1988
OPC_CheckPredicate, 4,
1989
OPC_CheckPredicate, 6,
1992
OPC_CheckFoldableChainNode,
1997
OPC_CheckOpcode, ISD::Constant,
1998
OPC_CheckType, MVT::i8,
2001
OPC_CheckType, MVT::i16,
2006
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
2007
OPC_EmitMergeInputChains, 2, 0, 2,
2008
OPC_EmitConvertToTarget, 4,
2009
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16mri8), 0|OPFL_Chain|OPFL_MemRefs,
2010
0, 7, 5, 6, 7, 8, 9, 1, 10,
2012
OPC_CheckPredicate, 7,
2014
OPC_CheckOpcode, ISD::SHL,
2017
OPC_CheckOpcode, ISD::Constant,
2018
OPC_CheckType, MVT::i8,
2022
OPC_CheckOpcode, ISD::SRL,
2024
OPC_CheckOpcode, ISD::LOAD,
2025
OPC_CheckPredicate, 4,
2026
OPC_CheckPredicate, 9,
2027
OPC_CheckPredicate, 10,
2030
OPC_CheckFoldableChainNode,
2035
OPC_CheckOpcode, ISD::Constant,
2036
OPC_CheckType, MVT::i8,
2039
OPC_CheckType, MVT::i64,
2044
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
2045
OPC_EmitMergeInputChains, 2, 0, 2,
2046
OPC_EmitConvertToTarget, 4,
2047
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD64mri8), 0|OPFL_Chain|OPFL_MemRefs,
2048
0, 7, 5, 6, 7, 8, 9, 1, 10,
2050
OPC_CheckPredicate, 8,
2052
OPC_CheckOpcode, ISD::SRL,
2055
OPC_CheckOpcode, ISD::Constant,
2056
OPC_CheckType, MVT::i8,
2060
OPC_CheckOpcode, ISD::SHL,
2062
OPC_CheckOpcode, ISD::LOAD,
2063
OPC_CheckPredicate, 4,
2064
OPC_CheckPredicate, 9,
2065
OPC_CheckPredicate, 10,
2068
OPC_CheckFoldableChainNode,
2073
OPC_CheckOpcode, ISD::Constant,
2074
OPC_CheckType, MVT::i8,
2077
OPC_CheckType, MVT::i64,
2082
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
2083
OPC_EmitMergeInputChains, 2, 0, 2,
2084
OPC_EmitConvertToTarget, 4,
2085
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD64mri8), 0|OPFL_Chain|OPFL_MemRefs,
2086
0, 7, 5, 6, 7, 8, 9, 1, 10,
2089
OPC_CheckOpcode, ISD::LOAD,
2090
OPC_CheckPredicate, 4,
2091
OPC_Scope, 63|128,1,
2092
OPC_CheckPredicate, 9,
2096
OPC_CheckFoldableChainNode,
2101
OPC_CheckOpcode, ISD::Constant,
2102
OPC_CheckPredicate, 11,
2104
OPC_SwitchType , 28, MVT::i16,
2109
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2110
OPC_EmitMergeInputChains, 2, 0, 1,
2111
OPC_EmitConvertToTarget, 3,
2112
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16mi8), 0|OPFL_Chain|OPFL_MemRefs,
2113
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
2119
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2120
OPC_EmitMergeInputChains, 2, 0, 1,
2121
OPC_EmitConvertToTarget, 3,
2122
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32mi8), 0|OPFL_Chain|OPFL_MemRefs,
2123
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
2129
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2130
OPC_EmitMergeInputChains, 2, 0, 1,
2131
OPC_EmitConvertToTarget, 3,
2132
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64mi8), 0|OPFL_Chain|OPFL_MemRefs,
2133
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
2136
OPC_CheckPredicate, 10,
2139
OPC_CheckFoldableChainNode,
2144
OPC_CheckOpcode, ISD::Constant,
2146
OPC_CheckPredicate, 12,
2148
OPC_CheckType, MVT::i64,
2153
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2154
OPC_EmitMergeInputChains, 2, 0, 1,
2155
OPC_EmitConvertToTarget, 3,
2156
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64mi32), 0|OPFL_Chain|OPFL_MemRefs,
2157
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
2160
OPC_CheckType, MVT::i8,
2165
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2166
OPC_EmitMergeInputChains, 2, 0, 1,
2167
OPC_EmitConvertToTarget, 3,
2168
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8mi), 0|OPFL_Chain|OPFL_MemRefs,
2169
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
2173
OPC_CheckPredicate, 6,
2176
OPC_CheckFoldableChainNode,
2181
OPC_CheckOpcode, ISD::Constant,
2183
OPC_CheckType, MVT::i16,
2188
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2189
OPC_EmitMergeInputChains, 2, 0, 1,
2190
OPC_EmitConvertToTarget, 3,
2191
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16mi), 0|OPFL_Chain|OPFL_MemRefs,
2192
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
2194
OPC_CheckPredicate, 5,
2197
OPC_CheckFoldableChainNode,
2202
OPC_CheckOpcode, ISD::Constant,
2204
OPC_CheckType, MVT::i32,
2209
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2210
OPC_EmitMergeInputChains, 2, 0, 1,
2211
OPC_EmitConvertToTarget, 3,
2212
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32mi), 0|OPFL_Chain|OPFL_MemRefs,
2213
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
2215
OPC_CheckPredicate, 9,
2218
OPC_CheckFoldableChainNode,
2222
OPC_SwitchType , 26, MVT::i8,
2227
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2228
OPC_EmitMergeInputChains, 2, 0, 1,
2229
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8mr), 0|OPFL_Chain|OPFL_MemRefs,
2230
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
2236
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2237
OPC_EmitMergeInputChains, 2, 0, 1,
2238
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16mr), 0|OPFL_Chain|OPFL_MemRefs,
2239
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
2245
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2246
OPC_EmitMergeInputChains, 2, 0, 1,
2247
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32mr), 0|OPFL_Chain|OPFL_MemRefs,
2248
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
2254
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2255
OPC_EmitMergeInputChains, 2, 0, 1,
2256
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64mr), 0|OPFL_Chain|OPFL_MemRefs,
2257
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
2263
OPC_CheckOpcode, ISD::LOAD,
2264
OPC_CheckPredicate, 4,
2265
OPC_CheckPredicate, 9,
2268
OPC_CheckFoldableChainNode,
2271
OPC_SwitchType , 26, MVT::i8,
2276
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
2277
OPC_EmitMergeInputChains, 2, 0, 2,
2278
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8mr), 0|OPFL_Chain|OPFL_MemRefs,
2279
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
2285
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
2286
OPC_EmitMergeInputChains, 2, 0, 2,
2287
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16mr), 0|OPFL_Chain|OPFL_MemRefs,
2288
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
2294
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
2295
OPC_EmitMergeInputChains, 2, 0, 2,
2296
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32mr), 0|OPFL_Chain|OPFL_MemRefs,
2297
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
2303
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
2304
OPC_EmitMergeInputChains, 2, 0, 2,
2305
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64mr), 0|OPFL_Chain|OPFL_MemRefs,
2306
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
2311
OPC_CheckOpcode, ISD::LOAD,
2312
OPC_CheckPredicate, 4,
2314
OPC_CheckPredicate, 9,
2315
OPC_CheckPredicate, 10,
2318
OPC_CheckFoldableChainNode,
2322
OPC_CheckAndImm, 31,
2324
OPC_CheckType, MVT::i8,
2326
OPC_CheckType, MVT::i8,
2331
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2332
OPC_EmitMergeInputChains, 2, 0, 1,
2333
OPC_EmitCopyToReg, 3, X86::CL,
2334
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL8mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2335
0, 5, 4, 5, 6, 7, 8,
2337
OPC_CheckPredicate, 6,
2340
OPC_CheckFoldableChainNode,
2344
OPC_CheckAndImm, 31,
2346
OPC_CheckType, MVT::i8,
2348
OPC_CheckType, MVT::i16,
2353
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2354
OPC_EmitMergeInputChains, 2, 0, 1,
2355
OPC_EmitCopyToReg, 3, X86::CL,
2356
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL16mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2357
0, 5, 4, 5, 6, 7, 8,
2359
OPC_CheckPredicate, 5,
2362
OPC_CheckFoldableChainNode,
2366
OPC_CheckAndImm, 31,
2368
OPC_CheckType, MVT::i8,
2370
OPC_CheckType, MVT::i32,
2375
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2376
OPC_EmitMergeInputChains, 2, 0, 1,
2377
OPC_EmitCopyToReg, 3, X86::CL,
2378
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL32mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2379
0, 5, 4, 5, 6, 7, 8,
2381
OPC_CheckPredicate, 9,
2382
OPC_CheckPredicate, 10,
2385
OPC_CheckFoldableChainNode,
2390
OPC_CheckAndImm, 63,
2392
OPC_CheckType, MVT::i8,
2394
OPC_CheckType, MVT::i64,
2399
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2400
OPC_EmitMergeInputChains, 2, 0, 1,
2401
OPC_EmitCopyToReg, 3, X86::CL,
2402
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL64mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2403
0, 5, 4, 5, 6, 7, 8,
2405
OPC_CheckInteger, 1,
2406
OPC_CheckType, MVT::i8,
2408
OPC_CheckType, MVT::i8,
2413
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2414
OPC_EmitMergeInputChains, 2, 0, 1,
2415
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL8m1), 0|OPFL_Chain|OPFL_MemRefs,
2416
0, 5, 3, 4, 5, 6, 7,
2419
OPC_CheckPredicate, 6,
2422
OPC_CheckFoldableChainNode,
2426
OPC_CheckInteger, 1,
2427
OPC_CheckType, MVT::i8,
2429
OPC_CheckType, MVT::i16,
2434
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2435
OPC_EmitMergeInputChains, 2, 0, 1,
2436
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL16m1), 0|OPFL_Chain|OPFL_MemRefs,
2437
0, 5, 3, 4, 5, 6, 7,
2439
OPC_CheckPredicate, 5,
2442
OPC_CheckFoldableChainNode,
2446
OPC_CheckInteger, 1,
2447
OPC_CheckType, MVT::i8,
2449
OPC_CheckType, MVT::i32,
2454
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2455
OPC_EmitMergeInputChains, 2, 0, 1,
2456
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL32m1), 0|OPFL_Chain|OPFL_MemRefs,
2457
0, 5, 3, 4, 5, 6, 7,
2459
OPC_CheckPredicate, 9,
2460
OPC_CheckPredicate, 10,
2463
OPC_CheckFoldableChainNode,
2468
OPC_CheckInteger, 1,
2469
OPC_CheckType, MVT::i8,
2471
OPC_CheckType, MVT::i64,
2476
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2477
OPC_EmitMergeInputChains, 2, 0, 1,
2478
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL64m1), 0|OPFL_Chain|OPFL_MemRefs,
2479
0, 5, 3, 4, 5, 6, 7,
2483
OPC_CheckOpcode, ISD::Constant,
2484
OPC_CheckType, MVT::i8,
2486
OPC_CheckType, MVT::i8,
2491
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2492
OPC_EmitMergeInputChains, 2, 0, 1,
2493
OPC_EmitConvertToTarget, 3,
2494
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL8mi), 0|OPFL_Chain|OPFL_MemRefs,
2495
0, 6, 4, 5, 6, 7, 8, 9,
2498
OPC_CheckPredicate, 6,
2501
OPC_CheckFoldableChainNode,
2506
OPC_CheckOpcode, ISD::Constant,
2507
OPC_CheckType, MVT::i8,
2509
OPC_CheckType, MVT::i16,
2514
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2515
OPC_EmitMergeInputChains, 2, 0, 1,
2516
OPC_EmitConvertToTarget, 3,
2517
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL16mi), 0|OPFL_Chain|OPFL_MemRefs,
2518
0, 6, 4, 5, 6, 7, 8, 9,
2520
OPC_CheckPredicate, 5,
2523
OPC_CheckFoldableChainNode,
2528
OPC_CheckOpcode, ISD::Constant,
2529
OPC_CheckType, MVT::i8,
2531
OPC_CheckType, MVT::i32,
2536
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2537
OPC_EmitMergeInputChains, 2, 0, 1,
2538
OPC_EmitConvertToTarget, 3,
2539
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL32mi), 0|OPFL_Chain|OPFL_MemRefs,
2540
0, 6, 4, 5, 6, 7, 8, 9,
2542
OPC_CheckPredicate, 9,
2543
OPC_CheckPredicate, 10,
2546
OPC_CheckFoldableChainNode,
2552
OPC_CheckOpcode, ISD::Constant,
2553
OPC_CheckType, MVT::i8,
2555
OPC_CheckType, MVT::i64,
2560
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2561
OPC_EmitMergeInputChains, 2, 0, 1,
2562
OPC_EmitConvertToTarget, 3,
2563
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL64mi), 0|OPFL_Chain|OPFL_MemRefs,
2564
0, 6, 4, 5, 6, 7, 8, 9,
2566
OPC_CheckChild1Type, MVT::i8,
2567
OPC_CheckType, MVT::i8,
2572
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2573
OPC_EmitMergeInputChains, 2, 0, 1,
2574
OPC_EmitCopyToReg, 3, X86::CL,
2575
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL8mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2576
0, 5, 4, 5, 6, 7, 8,
2579
OPC_CheckPredicate, 6,
2582
OPC_CheckFoldableChainNode,
2586
OPC_CheckChild1Type, MVT::i8,
2587
OPC_CheckType, MVT::i16,
2592
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2593
OPC_EmitMergeInputChains, 2, 0, 1,
2594
OPC_EmitCopyToReg, 3, X86::CL,
2595
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL16mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2596
0, 5, 4, 5, 6, 7, 8,
2598
OPC_CheckPredicate, 5,
2601
OPC_CheckFoldableChainNode,
2605
OPC_CheckChild1Type, MVT::i8,
2606
OPC_CheckType, MVT::i32,
2611
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2612
OPC_EmitMergeInputChains, 2, 0, 1,
2613
OPC_EmitCopyToReg, 3, X86::CL,
2614
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL32mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2615
0, 5, 4, 5, 6, 7, 8,
2617
OPC_CheckPredicate, 9,
2618
OPC_CheckPredicate, 10,
2621
OPC_CheckFoldableChainNode,
2625
OPC_CheckChild1Type, MVT::i8,
2626
OPC_CheckType, MVT::i64,
2631
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2632
OPC_EmitMergeInputChains, 2, 0, 1,
2633
OPC_EmitCopyToReg, 3, X86::CL,
2634
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL64mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2635
0, 5, 4, 5, 6, 7, 8,
2639
OPC_CheckOpcode, ISD::LOAD,
2640
OPC_CheckPredicate, 4,
2642
OPC_CheckPredicate, 9,
2643
OPC_CheckPredicate, 10,
2646
OPC_CheckFoldableChainNode,
2650
OPC_CheckAndImm, 31,
2652
OPC_CheckType, MVT::i8,
2654
OPC_CheckType, MVT::i8,
2659
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2660
OPC_EmitMergeInputChains, 2, 0, 1,
2661
OPC_EmitCopyToReg, 3, X86::CL,
2662
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR8mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2663
0, 5, 4, 5, 6, 7, 8,
2665
OPC_CheckPredicate, 6,
2668
OPC_CheckFoldableChainNode,
2672
OPC_CheckAndImm, 31,
2674
OPC_CheckType, MVT::i8,
2676
OPC_CheckType, MVT::i16,
2681
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2682
OPC_EmitMergeInputChains, 2, 0, 1,
2683
OPC_EmitCopyToReg, 3, X86::CL,
2684
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR16mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2685
0, 5, 4, 5, 6, 7, 8,
2687
OPC_CheckPredicate, 5,
2690
OPC_CheckFoldableChainNode,
2694
OPC_CheckAndImm, 31,
2696
OPC_CheckType, MVT::i8,
2698
OPC_CheckType, MVT::i32,
2703
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2704
OPC_EmitMergeInputChains, 2, 0, 1,
2705
OPC_EmitCopyToReg, 3, X86::CL,
2706
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR32mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2707
0, 5, 4, 5, 6, 7, 8,
2709
OPC_CheckPredicate, 9,
2710
OPC_CheckPredicate, 10,
2713
OPC_CheckFoldableChainNode,
2718
OPC_CheckAndImm, 63,
2720
OPC_CheckType, MVT::i8,
2722
OPC_CheckType, MVT::i64,
2727
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2728
OPC_EmitMergeInputChains, 2, 0, 1,
2729
OPC_EmitCopyToReg, 3, X86::CL,
2730
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR64mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2731
0, 5, 4, 5, 6, 7, 8,
2733
OPC_CheckInteger, 1,
2734
OPC_CheckType, MVT::i8,
2736
OPC_CheckType, MVT::i8,
2741
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2742
OPC_EmitMergeInputChains, 2, 0, 1,
2743
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR8m1), 0|OPFL_Chain|OPFL_MemRefs,
2744
0, 5, 3, 4, 5, 6, 7,
2747
OPC_CheckPredicate, 6,
2750
OPC_CheckFoldableChainNode,
2754
OPC_CheckInteger, 1,
2755
OPC_CheckType, MVT::i8,
2757
OPC_CheckType, MVT::i16,
2762
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2763
OPC_EmitMergeInputChains, 2, 0, 1,
2764
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR16m1), 0|OPFL_Chain|OPFL_MemRefs,
2765
0, 5, 3, 4, 5, 6, 7,
2767
OPC_CheckPredicate, 5,
2770
OPC_CheckFoldableChainNode,
2774
OPC_CheckInteger, 1,
2775
OPC_CheckType, MVT::i8,
2777
OPC_CheckType, MVT::i32,
2782
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2783
OPC_EmitMergeInputChains, 2, 0, 1,
2784
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR32m1), 0|OPFL_Chain|OPFL_MemRefs,
2785
0, 5, 3, 4, 5, 6, 7,
2787
OPC_CheckPredicate, 9,
2788
OPC_CheckPredicate, 10,
2791
OPC_CheckFoldableChainNode,
2796
OPC_CheckInteger, 1,
2797
OPC_CheckType, MVT::i8,
2799
OPC_CheckType, MVT::i64,
2804
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2805
OPC_EmitMergeInputChains, 2, 0, 1,
2806
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR64m1), 0|OPFL_Chain|OPFL_MemRefs,
2807
0, 5, 3, 4, 5, 6, 7,
2811
OPC_CheckOpcode, ISD::Constant,
2812
OPC_CheckType, MVT::i8,
2814
OPC_CheckType, MVT::i8,
2819
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2820
OPC_EmitMergeInputChains, 2, 0, 1,
2821
OPC_EmitConvertToTarget, 3,
2822
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR8mi), 0|OPFL_Chain|OPFL_MemRefs,
2823
0, 6, 4, 5, 6, 7, 8, 9,
2826
OPC_CheckPredicate, 6,
2829
OPC_CheckFoldableChainNode,
2834
OPC_CheckOpcode, ISD::Constant,
2835
OPC_CheckType, MVT::i8,
2837
OPC_CheckType, MVT::i16,
2842
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2843
OPC_EmitMergeInputChains, 2, 0, 1,
2844
OPC_EmitConvertToTarget, 3,
2845
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR16mi), 0|OPFL_Chain|OPFL_MemRefs,
2846
0, 6, 4, 5, 6, 7, 8, 9,
2848
OPC_CheckPredicate, 5,
2851
OPC_CheckFoldableChainNode,
2856
OPC_CheckOpcode, ISD::Constant,
2857
OPC_CheckType, MVT::i8,
2859
OPC_CheckType, MVT::i32,
2864
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2865
OPC_EmitMergeInputChains, 2, 0, 1,
2866
OPC_EmitConvertToTarget, 3,
2867
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR32mi), 0|OPFL_Chain|OPFL_MemRefs,
2868
0, 6, 4, 5, 6, 7, 8, 9,
2870
OPC_CheckPredicate, 9,
2871
OPC_CheckPredicate, 10,
2874
OPC_CheckFoldableChainNode,
2880
OPC_CheckOpcode, ISD::Constant,
2881
OPC_CheckType, MVT::i8,
2883
OPC_CheckType, MVT::i64,
2888
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2889
OPC_EmitMergeInputChains, 2, 0, 1,
2890
OPC_EmitConvertToTarget, 3,
2891
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR64mi), 0|OPFL_Chain|OPFL_MemRefs,
2892
0, 6, 4, 5, 6, 7, 8, 9,
2894
OPC_CheckChild1Type, MVT::i8,
2895
OPC_CheckType, MVT::i8,
2900
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2901
OPC_EmitMergeInputChains, 2, 0, 1,
2902
OPC_EmitCopyToReg, 3, X86::CL,
2903
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR8mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2904
0, 5, 4, 5, 6, 7, 8,
2907
OPC_CheckPredicate, 6,
2910
OPC_CheckFoldableChainNode,
2914
OPC_CheckChild1Type, MVT::i8,
2915
OPC_CheckType, MVT::i16,
2920
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2921
OPC_EmitMergeInputChains, 2, 0, 1,
2922
OPC_EmitCopyToReg, 3, X86::CL,
2923
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR16mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2924
0, 5, 4, 5, 6, 7, 8,
2926
OPC_CheckPredicate, 5,
2929
OPC_CheckFoldableChainNode,
2933
OPC_CheckChild1Type, MVT::i8,
2934
OPC_CheckType, MVT::i32,
2939
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2940
OPC_EmitMergeInputChains, 2, 0, 1,
2941
OPC_EmitCopyToReg, 3, X86::CL,
2942
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR32mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2943
0, 5, 4, 5, 6, 7, 8,
2945
OPC_CheckPredicate, 9,
2946
OPC_CheckPredicate, 10,
2949
OPC_CheckFoldableChainNode,
2953
OPC_CheckChild1Type, MVT::i8,
2954
OPC_CheckType, MVT::i64,
2959
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2960
OPC_EmitMergeInputChains, 2, 0, 1,
2961
OPC_EmitCopyToReg, 3, X86::CL,
2962
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR64mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2963
0, 5, 4, 5, 6, 7, 8,
2967
OPC_CheckOpcode, ISD::LOAD,
2968
OPC_CheckPredicate, 4,
2970
OPC_CheckPredicate, 9,
2971
OPC_CheckPredicate, 10,
2974
OPC_CheckFoldableChainNode,
2978
OPC_CheckAndImm, 31,
2980
OPC_CheckType, MVT::i8,
2982
OPC_CheckType, MVT::i8,
2987
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
2988
OPC_EmitMergeInputChains, 2, 0, 1,
2989
OPC_EmitCopyToReg, 3, X86::CL,
2990
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR8mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
2991
0, 5, 4, 5, 6, 7, 8,
2993
OPC_CheckPredicate, 6,
2996
OPC_CheckFoldableChainNode,
3000
OPC_CheckAndImm, 31,
3002
OPC_CheckType, MVT::i8,
3004
OPC_CheckType, MVT::i16,
3009
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3010
OPC_EmitMergeInputChains, 2, 0, 1,
3011
OPC_EmitCopyToReg, 3, X86::CL,
3012
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR16mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
3013
0, 5, 4, 5, 6, 7, 8,
3015
OPC_CheckPredicate, 5,
3018
OPC_CheckFoldableChainNode,
3022
OPC_CheckAndImm, 31,
3024
OPC_CheckType, MVT::i8,
3026
OPC_CheckType, MVT::i32,
3031
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3032
OPC_EmitMergeInputChains, 2, 0, 1,
3033
OPC_EmitCopyToReg, 3, X86::CL,
3034
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR32mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
3035
0, 5, 4, 5, 6, 7, 8,
3037
OPC_CheckPredicate, 9,
3038
OPC_CheckPredicate, 10,
3041
OPC_CheckFoldableChainNode,
3046
OPC_CheckAndImm, 63,
3048
OPC_CheckType, MVT::i8,
3050
OPC_CheckType, MVT::i64,
3055
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3056
OPC_EmitMergeInputChains, 2, 0, 1,
3057
OPC_EmitCopyToReg, 3, X86::CL,
3058
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR64mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
3059
0, 5, 4, 5, 6, 7, 8,
3061
OPC_CheckInteger, 1,
3062
OPC_CheckType, MVT::i8,
3064
OPC_CheckType, MVT::i8,
3069
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3070
OPC_EmitMergeInputChains, 2, 0, 1,
3071
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR8m1), 0|OPFL_Chain|OPFL_MemRefs,
3072
0, 5, 3, 4, 5, 6, 7,
3075
OPC_CheckPredicate, 6,
3078
OPC_CheckFoldableChainNode,
3082
OPC_CheckInteger, 1,
3083
OPC_CheckType, MVT::i8,
3085
OPC_CheckType, MVT::i16,
3090
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3091
OPC_EmitMergeInputChains, 2, 0, 1,
3092
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR16m1), 0|OPFL_Chain|OPFL_MemRefs,
3093
0, 5, 3, 4, 5, 6, 7,
3095
OPC_CheckPredicate, 5,
3098
OPC_CheckFoldableChainNode,
3102
OPC_CheckInteger, 1,
3103
OPC_CheckType, MVT::i8,
3105
OPC_CheckType, MVT::i32,
3110
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3111
OPC_EmitMergeInputChains, 2, 0, 1,
3112
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR32m1), 0|OPFL_Chain|OPFL_MemRefs,
3113
0, 5, 3, 4, 5, 6, 7,
3115
OPC_CheckPredicate, 9,
3116
OPC_CheckPredicate, 10,
3119
OPC_CheckFoldableChainNode,
3124
OPC_CheckInteger, 1,
3125
OPC_CheckType, MVT::i8,
3127
OPC_CheckType, MVT::i64,
3132
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3133
OPC_EmitMergeInputChains, 2, 0, 1,
3134
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR64m1), 0|OPFL_Chain|OPFL_MemRefs,
3135
0, 5, 3, 4, 5, 6, 7,
3139
OPC_CheckOpcode, ISD::Constant,
3140
OPC_CheckType, MVT::i8,
3142
OPC_CheckType, MVT::i8,
3147
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3148
OPC_EmitMergeInputChains, 2, 0, 1,
3149
OPC_EmitConvertToTarget, 3,
3150
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR8mi), 0|OPFL_Chain|OPFL_MemRefs,
3151
0, 6, 4, 5, 6, 7, 8, 9,
3154
OPC_CheckPredicate, 6,
3157
OPC_CheckFoldableChainNode,
3162
OPC_CheckOpcode, ISD::Constant,
3163
OPC_CheckType, MVT::i8,
3165
OPC_CheckType, MVT::i16,
3170
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3171
OPC_EmitMergeInputChains, 2, 0, 1,
3172
OPC_EmitConvertToTarget, 3,
3173
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR16mi), 0|OPFL_Chain|OPFL_MemRefs,
3174
0, 6, 4, 5, 6, 7, 8, 9,
3176
OPC_CheckPredicate, 5,
3179
OPC_CheckFoldableChainNode,
3184
OPC_CheckOpcode, ISD::Constant,
3185
OPC_CheckType, MVT::i8,
3187
OPC_CheckType, MVT::i32,
3192
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3193
OPC_EmitMergeInputChains, 2, 0, 1,
3194
OPC_EmitConvertToTarget, 3,
3195
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR32mi), 0|OPFL_Chain|OPFL_MemRefs,
3196
0, 6, 4, 5, 6, 7, 8, 9,
3198
OPC_CheckPredicate, 9,
3199
OPC_CheckPredicate, 10,
3202
OPC_CheckFoldableChainNode,
3208
OPC_CheckOpcode, ISD::Constant,
3209
OPC_CheckType, MVT::i8,
3211
OPC_CheckType, MVT::i64,
3216
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3217
OPC_EmitMergeInputChains, 2, 0, 1,
3218
OPC_EmitConvertToTarget, 3,
3219
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR64mi), 0|OPFL_Chain|OPFL_MemRefs,
3220
0, 6, 4, 5, 6, 7, 8, 9,
3222
OPC_CheckChild1Type, MVT::i8,
3223
OPC_CheckType, MVT::i8,
3228
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3229
OPC_EmitMergeInputChains, 2, 0, 1,
3230
OPC_EmitCopyToReg, 3, X86::CL,
3231
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR8mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
3232
0, 5, 4, 5, 6, 7, 8,
3235
OPC_CheckPredicate, 6,
3238
OPC_CheckFoldableChainNode,
3242
OPC_CheckChild1Type, MVT::i8,
3243
OPC_CheckType, MVT::i16,
3248
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3249
OPC_EmitMergeInputChains, 2, 0, 1,
3250
OPC_EmitCopyToReg, 3, X86::CL,
3251
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR16mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
3252
0, 5, 4, 5, 6, 7, 8,
3254
OPC_CheckPredicate, 5,
3257
OPC_CheckFoldableChainNode,
3261
OPC_CheckChild1Type, MVT::i8,
3262
OPC_CheckType, MVT::i32,
3267
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3268
OPC_EmitMergeInputChains, 2, 0, 1,
3269
OPC_EmitCopyToReg, 3, X86::CL,
3270
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR32mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
3271
0, 5, 4, 5, 6, 7, 8,
3273
OPC_CheckPredicate, 9,
3274
OPC_CheckPredicate, 10,
3277
OPC_CheckFoldableChainNode,
3281
OPC_CheckChild1Type, MVT::i8,
3282
OPC_CheckType, MVT::i64,
3287
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3288
OPC_EmitMergeInputChains, 2, 0, 1,
3289
OPC_EmitCopyToReg, 3, X86::CL,
3290
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR64mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
3291
0, 5, 4, 5, 6, 7, 8,
3295
OPC_Scope, 27|128,1,
3296
OPC_CheckInteger, 0,
3299
OPC_CheckOpcode, ISD::LOAD,
3300
OPC_CheckPredicate, 4,
3302
OPC_CheckPredicate, 9,
3303
OPC_CheckPredicate, 10,
3306
OPC_CheckFoldableChainNode,
3309
OPC_CheckType, MVT::i8,
3314
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3315
OPC_EmitMergeInputChains, 2, 0, 1,
3316
OPC_MorphNodeTo, TARGET_OPCODE(X86::NEG8m), 0|OPFL_Chain|OPFL_MemRefs,
3317
1, MVT::i32, 5, 3, 4, 5, 6, 7,
3319
OPC_CheckPredicate, 6,
3322
OPC_CheckFoldableChainNode,
3325
OPC_CheckType, MVT::i16,
3330
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3331
OPC_EmitMergeInputChains, 2, 0, 1,
3332
OPC_MorphNodeTo, TARGET_OPCODE(X86::NEG16m), 0|OPFL_Chain|OPFL_MemRefs,
3333
1, MVT::i32, 5, 3, 4, 5, 6, 7,
3335
OPC_CheckPredicate, 5,
3338
OPC_CheckFoldableChainNode,
3341
OPC_CheckType, MVT::i32,
3346
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3347
OPC_EmitMergeInputChains, 2, 0, 1,
3348
OPC_MorphNodeTo, TARGET_OPCODE(X86::NEG32m), 0|OPFL_Chain|OPFL_MemRefs,
3349
1, MVT::i32, 5, 3, 4, 5, 6, 7,
3351
OPC_CheckPredicate, 9,
3352
OPC_CheckPredicate, 10,
3355
OPC_CheckFoldableChainNode,
3358
OPC_CheckType, MVT::i64,
3363
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3364
OPC_EmitMergeInputChains, 2, 0, 1,
3365
OPC_MorphNodeTo, TARGET_OPCODE(X86::NEG64m), 0|OPFL_Chain|OPFL_MemRefs,
3366
1, MVT::i32, 5, 3, 4, 5, 6, 7,
3369
OPC_CheckOpcode, ISD::LOAD,
3370
OPC_CheckPredicate, 4,
3371
OPC_Scope, 64|128,1,
3372
OPC_CheckPredicate, 9,
3373
OPC_Scope, 14|128,1,
3376
OPC_CheckFoldableChainNode,
3381
OPC_CheckOpcode, ISD::Constant,
3383
OPC_CheckPredicate, 11,
3385
OPC_SwitchType , 28, MVT::i16,
3390
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3391
OPC_EmitMergeInputChains, 2, 0, 1,
3392
OPC_EmitConvertToTarget, 3,
3393
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16mi8), 0|OPFL_Chain|OPFL_MemRefs,
3394
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3400
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3401
OPC_EmitMergeInputChains, 2, 0, 1,
3402
OPC_EmitConvertToTarget, 3,
3403
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32mi8), 0|OPFL_Chain|OPFL_MemRefs,
3404
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3410
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3411
OPC_EmitMergeInputChains, 2, 0, 1,
3412
OPC_EmitConvertToTarget, 3,
3413
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64mi8), 0|OPFL_Chain|OPFL_MemRefs,
3414
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3417
OPC_CheckPredicate, 12,
3419
OPC_CheckType, MVT::i64,
3424
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3425
OPC_EmitMergeInputChains, 2, 0, 1,
3426
OPC_EmitConvertToTarget, 3,
3427
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64mi32), 0|OPFL_Chain|OPFL_MemRefs,
3428
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3431
OPC_CheckPredicate, 10,
3434
OPC_CheckFoldableChainNode,
3439
OPC_CheckOpcode, ISD::Constant,
3441
OPC_CheckType, MVT::i8,
3446
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3447
OPC_EmitMergeInputChains, 2, 0, 1,
3448
OPC_EmitConvertToTarget, 3,
3449
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB8mi), 0|OPFL_Chain|OPFL_MemRefs,
3450
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3453
OPC_CheckPredicate, 6,
3456
OPC_CheckFoldableChainNode,
3461
OPC_CheckOpcode, ISD::Constant,
3463
OPC_CheckType, MVT::i16,
3468
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3469
OPC_EmitMergeInputChains, 2, 0, 1,
3470
OPC_EmitConvertToTarget, 3,
3471
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16mi), 0|OPFL_Chain|OPFL_MemRefs,
3472
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3474
OPC_CheckPredicate, 5,
3477
OPC_CheckFoldableChainNode,
3482
OPC_CheckOpcode, ISD::Constant,
3484
OPC_CheckType, MVT::i32,
3489
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3490
OPC_EmitMergeInputChains, 2, 0, 1,
3491
OPC_EmitConvertToTarget, 3,
3492
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32mi), 0|OPFL_Chain|OPFL_MemRefs,
3493
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3495
OPC_CheckPredicate, 9,
3498
OPC_CheckFoldableChainNode,
3502
OPC_SwitchType , 26, MVT::i8,
3507
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3508
OPC_EmitMergeInputChains, 2, 0, 1,
3509
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB8mr), 0|OPFL_Chain|OPFL_MemRefs,
3510
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
3516
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3517
OPC_EmitMergeInputChains, 2, 0, 1,
3518
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16mr), 0|OPFL_Chain|OPFL_MemRefs,
3519
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
3525
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3526
OPC_EmitMergeInputChains, 2, 0, 1,
3527
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32mr), 0|OPFL_Chain|OPFL_MemRefs,
3528
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
3534
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3535
OPC_EmitMergeInputChains, 2, 0, 1,
3536
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64mr), 0|OPFL_Chain|OPFL_MemRefs,
3537
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
3541
100|128,5, ISD::XOR,
3542
OPC_Scope, 94|128,4,
3544
OPC_CheckOpcode, ISD::LOAD,
3545
OPC_CheckPredicate, 4,
3547
OPC_CheckPredicate, 9,
3548
OPC_CheckPredicate, 10,
3551
OPC_CheckFoldableChainNode,
3555
OPC_CheckInteger, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
3557
OPC_CheckType, MVT::i8,
3562
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3563
OPC_EmitMergeInputChains, 2, 0, 1,
3564
OPC_MorphNodeTo, TARGET_OPCODE(X86::NOT8m), 0|OPFL_Chain|OPFL_MemRefs,
3565
0, 5, 3, 4, 5, 6, 7,
3567
OPC_CheckPredicate, 6,
3570
OPC_CheckFoldableChainNode,
3574
OPC_CheckInteger, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
3576
OPC_CheckType, MVT::i16,
3581
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3582
OPC_EmitMergeInputChains, 2, 0, 1,
3583
OPC_MorphNodeTo, TARGET_OPCODE(X86::NOT16m), 0|OPFL_Chain|OPFL_MemRefs,
3584
0, 5, 3, 4, 5, 6, 7,
3586
OPC_CheckPredicate, 5,
3589
OPC_CheckFoldableChainNode,
3593
OPC_CheckInteger, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
3595
OPC_CheckType, MVT::i32,
3600
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3601
OPC_EmitMergeInputChains, 2, 0, 1,
3602
OPC_MorphNodeTo, TARGET_OPCODE(X86::NOT32m), 0|OPFL_Chain|OPFL_MemRefs,
3603
0, 5, 3, 4, 5, 6, 7,
3605
OPC_CheckPredicate, 9,
3607
OPC_CheckPredicate, 10,
3610
OPC_CheckFoldableChainNode,
3614
OPC_CheckInteger, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
3616
OPC_CheckType, MVT::i64,
3621
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3622
OPC_EmitMergeInputChains, 2, 0, 1,
3623
OPC_MorphNodeTo, TARGET_OPCODE(X86::NOT64m), 0|OPFL_Chain|OPFL_MemRefs,
3624
0, 5, 3, 4, 5, 6, 7,
3628
OPC_CheckFoldableChainNode,
3633
OPC_CheckOpcode, ISD::Constant,
3634
OPC_CheckPredicate, 11,
3636
OPC_SwitchType , 28, MVT::i16,
3641
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3642
OPC_EmitMergeInputChains, 2, 0, 1,
3643
OPC_EmitConvertToTarget, 3,
3644
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16mi8), 0|OPFL_Chain|OPFL_MemRefs,
3645
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3651
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3652
OPC_EmitMergeInputChains, 2, 0, 1,
3653
OPC_EmitConvertToTarget, 3,
3654
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32mi8), 0|OPFL_Chain|OPFL_MemRefs,
3655
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3661
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3662
OPC_EmitMergeInputChains, 2, 0, 1,
3663
OPC_EmitConvertToTarget, 3,
3664
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64mi8), 0|OPFL_Chain|OPFL_MemRefs,
3665
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3668
OPC_CheckPredicate, 10,
3671
OPC_CheckFoldableChainNode,
3676
OPC_CheckOpcode, ISD::Constant,
3678
OPC_CheckPredicate, 12,
3680
OPC_CheckType, MVT::i64,
3685
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3686
OPC_EmitMergeInputChains, 2, 0, 1,
3687
OPC_EmitConvertToTarget, 3,
3688
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64mi32), 0|OPFL_Chain|OPFL_MemRefs,
3689
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3692
OPC_CheckType, MVT::i8,
3697
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3698
OPC_EmitMergeInputChains, 2, 0, 1,
3699
OPC_EmitConvertToTarget, 3,
3700
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8mi), 0|OPFL_Chain|OPFL_MemRefs,
3701
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3705
OPC_CheckPredicate, 6,
3708
OPC_CheckFoldableChainNode,
3713
OPC_CheckOpcode, ISD::Constant,
3715
OPC_CheckType, MVT::i16,
3720
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3721
OPC_EmitMergeInputChains, 2, 0, 1,
3722
OPC_EmitConvertToTarget, 3,
3723
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16mi), 0|OPFL_Chain|OPFL_MemRefs,
3724
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3726
OPC_CheckPredicate, 5,
3729
OPC_CheckFoldableChainNode,
3734
OPC_CheckOpcode, ISD::Constant,
3736
OPC_CheckType, MVT::i32,
3741
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3742
OPC_EmitMergeInputChains, 2, 0, 1,
3743
OPC_EmitConvertToTarget, 3,
3744
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32mi), 0|OPFL_Chain|OPFL_MemRefs,
3745
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
3747
OPC_CheckPredicate, 9,
3750
OPC_CheckFoldableChainNode,
3754
OPC_SwitchType , 26, MVT::i8,
3759
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3760
OPC_EmitMergeInputChains, 2, 0, 1,
3761
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8mr), 0|OPFL_Chain|OPFL_MemRefs,
3762
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
3768
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3769
OPC_EmitMergeInputChains, 2, 0, 1,
3770
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16mr), 0|OPFL_Chain|OPFL_MemRefs,
3771
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
3777
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3778
OPC_EmitMergeInputChains, 2, 0, 1,
3779
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32mr), 0|OPFL_Chain|OPFL_MemRefs,
3780
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
3786
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3787
OPC_EmitMergeInputChains, 2, 0, 1,
3788
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64mr), 0|OPFL_Chain|OPFL_MemRefs,
3789
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
3795
OPC_CheckOpcode, ISD::LOAD,
3796
OPC_CheckPredicate, 4,
3797
OPC_CheckPredicate, 9,
3800
OPC_CheckFoldableChainNode,
3803
OPC_SwitchType , 26, MVT::i8,
3808
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
3809
OPC_EmitMergeInputChains, 2, 0, 2,
3810
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8mr), 0|OPFL_Chain|OPFL_MemRefs,
3811
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
3817
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
3818
OPC_EmitMergeInputChains, 2, 0, 2,
3819
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16mr), 0|OPFL_Chain|OPFL_MemRefs,
3820
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
3826
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
3827
OPC_EmitMergeInputChains, 2, 0, 2,
3828
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32mr), 0|OPFL_Chain|OPFL_MemRefs,
3829
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
3835
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
3836
OPC_EmitMergeInputChains, 2, 0, 2,
3837
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64mr), 0|OPFL_Chain|OPFL_MemRefs,
3838
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
3841
27|128,10, ISD::ADD,
3842
OPC_Scope, 21|128,9,
3844
OPC_CheckOpcode, ISD::LOAD,
3845
OPC_CheckPredicate, 4,
3847
OPC_CheckPredicate, 9,
3848
OPC_CheckPredicate, 10,
3851
OPC_CheckFoldableChainNode,
3855
OPC_CheckInteger, 1,
3857
OPC_CheckType, MVT::i8,
3862
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3863
OPC_EmitMergeInputChains, 2, 0, 1,
3864
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC8m), 0|OPFL_Chain|OPFL_MemRefs,
3865
1, MVT::i32, 5, 3, 4, 5, 6, 7,
3867
OPC_CheckPredicate, 6,
3870
OPC_CheckFoldableChainNode,
3874
OPC_CheckInteger, 1,
3876
OPC_CheckType, MVT::i16,
3881
OPC_CheckPatternPredicate, 2,
3882
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3883
OPC_EmitMergeInputChains, 2, 0, 1,
3884
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC16m), 0|OPFL_Chain|OPFL_MemRefs,
3885
1, MVT::i32, 5, 3, 4, 5, 6, 7,
3887
OPC_CheckPredicate, 5,
3890
OPC_CheckFoldableChainNode,
3894
OPC_CheckInteger, 1,
3896
OPC_CheckType, MVT::i32,
3901
OPC_CheckPatternPredicate, 2,
3902
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3903
OPC_EmitMergeInputChains, 2, 0, 1,
3904
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC32m), 0|OPFL_Chain|OPFL_MemRefs,
3905
1, MVT::i32, 5, 3, 4, 5, 6, 7,
3907
OPC_CheckPredicate, 9,
3908
OPC_CheckPredicate, 10,
3911
OPC_CheckFoldableChainNode,
3915
OPC_CheckInteger, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
3917
OPC_CheckType, MVT::i8,
3922
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3923
OPC_EmitMergeInputChains, 2, 0, 1,
3924
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC8m), 0|OPFL_Chain|OPFL_MemRefs,
3925
1, MVT::i32, 5, 3, 4, 5, 6, 7,
3927
OPC_CheckPredicate, 6,
3930
OPC_CheckFoldableChainNode,
3934
OPC_CheckInteger, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
3936
OPC_CheckType, MVT::i16,
3941
OPC_CheckPatternPredicate, 2,
3942
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3943
OPC_EmitMergeInputChains, 2, 0, 1,
3944
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC16m), 0|OPFL_Chain|OPFL_MemRefs,
3945
1, MVT::i32, 5, 3, 4, 5, 6, 7,
3947
OPC_CheckPredicate, 5,
3950
OPC_CheckFoldableChainNode,
3954
OPC_CheckInteger, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
3956
OPC_CheckType, MVT::i32,
3961
OPC_CheckPatternPredicate, 2,
3962
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3963
OPC_EmitMergeInputChains, 2, 0, 1,
3964
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC32m), 0|OPFL_Chain|OPFL_MemRefs,
3965
1, MVT::i32, 5, 3, 4, 5, 6, 7,
3967
OPC_CheckPredicate, 9,
3968
OPC_CheckPredicate, 10,
3971
OPC_CheckFoldableChainNode,
3976
OPC_CheckInteger, 1,
3978
OPC_CheckType, MVT::i64,
3983
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3984
OPC_EmitMergeInputChains, 2, 0, 1,
3985
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC64m), 0|OPFL_Chain|OPFL_MemRefs,
3986
1, MVT::i32, 5, 3, 4, 5, 6, 7,
3988
OPC_CheckInteger, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
3990
OPC_CheckType, MVT::i64,
3995
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
3996
OPC_EmitMergeInputChains, 2, 0, 1,
3997
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC64m), 0|OPFL_Chain|OPFL_MemRefs,
3998
1, MVT::i32, 5, 3, 4, 5, 6, 7,
4001
OPC_CheckPredicate, 6,
4004
OPC_CheckFoldableChainNode,
4008
OPC_CheckInteger, 1,
4010
OPC_CheckType, MVT::i16,
4015
OPC_CheckPatternPredicate, 3,
4016
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4017
OPC_EmitMergeInputChains, 2, 0, 1,
4018
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC64_16m), 0|OPFL_Chain|OPFL_MemRefs,
4019
1, MVT::i32, 5, 3, 4, 5, 6, 7,
4021
OPC_CheckPredicate, 5,
4024
OPC_CheckFoldableChainNode,
4028
OPC_CheckInteger, 1,
4030
OPC_CheckType, MVT::i32,
4035
OPC_CheckPatternPredicate, 3,
4036
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4037
OPC_EmitMergeInputChains, 2, 0, 1,
4038
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC64_32m), 0|OPFL_Chain|OPFL_MemRefs,
4039
1, MVT::i32, 5, 3, 4, 5, 6, 7,
4041
OPC_CheckPredicate, 6,
4044
OPC_CheckFoldableChainNode,
4048
OPC_CheckInteger, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
4050
OPC_CheckType, MVT::i16,
4055
OPC_CheckPatternPredicate, 3,
4056
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4057
OPC_EmitMergeInputChains, 2, 0, 1,
4058
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC64_16m), 0|OPFL_Chain|OPFL_MemRefs,
4059
1, MVT::i32, 5, 3, 4, 5, 6, 7,
4061
OPC_CheckPredicate, 5,
4064
OPC_CheckFoldableChainNode,
4068
OPC_CheckInteger, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
4070
OPC_CheckType, MVT::i32,
4075
OPC_CheckPatternPredicate, 3,
4076
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4077
OPC_EmitMergeInputChains, 2, 0, 1,
4078
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC64_32m), 0|OPFL_Chain|OPFL_MemRefs,
4079
1, MVT::i32, 5, 3, 4, 5, 6, 7,
4081
OPC_CheckPredicate, 6,
4084
OPC_CheckFoldableChainNode,
4088
OPC_CheckInteger, 0|128,1,
4090
OPC_CheckType, MVT::i16,
4095
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4096
OPC_EmitMergeInputChains, 2, 0, 1,
4097
OPC_EmitInteger, MVT::i16, 0|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
4098
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16mi8), 0|OPFL_Chain|OPFL_MemRefs,
4099
0, 6, 3, 4, 5, 6, 7, 8,
4101
OPC_CheckPredicate, 5,
4104
OPC_CheckFoldableChainNode,
4108
OPC_CheckInteger, 0|128,1,
4110
OPC_CheckType, MVT::i32,
4115
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4116
OPC_EmitMergeInputChains, 2, 0, 1,
4117
OPC_EmitInteger, MVT::i32, 0|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
4118
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32mi8), 0|OPFL_Chain|OPFL_MemRefs,
4119
0, 6, 3, 4, 5, 6, 7, 8,
4121
OPC_CheckPredicate, 9,
4123
OPC_CheckPredicate, 10,
4126
OPC_CheckFoldableChainNode,
4131
OPC_CheckInteger, 0|128,1,
4133
OPC_CheckType, MVT::i64,
4138
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4139
OPC_EmitMergeInputChains, 2, 0, 1,
4140
OPC_EmitInteger, MVT::i64, 0|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
4141
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64mi8), 0|OPFL_Chain|OPFL_MemRefs,
4142
0, 6, 3, 4, 5, 6, 7, 8,
4144
OPC_CheckInteger, 0|128,0|128,0|128,0|128,0|128,1,
4146
OPC_CheckType, MVT::i64,
4151
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4152
OPC_EmitMergeInputChains, 2, 0, 1,
4153
OPC_EmitInteger, MVT::i64, 0|128,0|128,0|128,0|128,120|128,127|128,127|128,127|128,127|128,1,
4154
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64mi32), 0|OPFL_Chain|OPFL_MemRefs,
4155
0, 6, 3, 4, 5, 6, 7, 8,
4160
OPC_CheckFoldableChainNode,
4165
OPC_CheckOpcode, ISD::Constant,
4167
OPC_CheckPredicate, 11,
4169
OPC_SwitchType , 28, MVT::i16,
4174
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4175
OPC_EmitMergeInputChains, 2, 0, 1,
4176
OPC_EmitConvertToTarget, 3,
4177
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16mi8), 0|OPFL_Chain|OPFL_MemRefs,
4178
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4184
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4185
OPC_EmitMergeInputChains, 2, 0, 1,
4186
OPC_EmitConvertToTarget, 3,
4187
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32mi8), 0|OPFL_Chain|OPFL_MemRefs,
4188
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4194
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4195
OPC_EmitMergeInputChains, 2, 0, 1,
4196
OPC_EmitConvertToTarget, 3,
4197
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64mi8), 0|OPFL_Chain|OPFL_MemRefs,
4198
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4201
OPC_CheckPredicate, 12,
4203
OPC_CheckType, MVT::i64,
4208
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4209
OPC_EmitMergeInputChains, 2, 0, 1,
4210
OPC_EmitConvertToTarget, 3,
4211
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64mi32), 0|OPFL_Chain|OPFL_MemRefs,
4212
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4215
OPC_CheckPredicate, 10,
4218
OPC_CheckFoldableChainNode,
4223
OPC_CheckOpcode, ISD::Constant,
4225
OPC_CheckType, MVT::i8,
4230
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4231
OPC_EmitMergeInputChains, 2, 0, 1,
4232
OPC_EmitConvertToTarget, 3,
4233
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8mi), 0|OPFL_Chain|OPFL_MemRefs,
4234
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4237
OPC_CheckPredicate, 6,
4240
OPC_CheckFoldableChainNode,
4245
OPC_CheckOpcode, ISD::Constant,
4247
OPC_CheckType, MVT::i16,
4252
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4253
OPC_EmitMergeInputChains, 2, 0, 1,
4254
OPC_EmitConvertToTarget, 3,
4255
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16mi), 0|OPFL_Chain|OPFL_MemRefs,
4256
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4258
OPC_CheckPredicate, 5,
4261
OPC_CheckFoldableChainNode,
4266
OPC_CheckOpcode, ISD::Constant,
4268
OPC_CheckType, MVT::i32,
4273
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4274
OPC_EmitMergeInputChains, 2, 0, 1,
4275
OPC_EmitConvertToTarget, 3,
4276
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32mi), 0|OPFL_Chain|OPFL_MemRefs,
4277
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4279
OPC_CheckPredicate, 9,
4282
OPC_CheckFoldableChainNode,
4286
OPC_SwitchType , 26, MVT::i8,
4291
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4292
OPC_EmitMergeInputChains, 2, 0, 1,
4293
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8mr), 0|OPFL_Chain|OPFL_MemRefs,
4294
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
4300
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4301
OPC_EmitMergeInputChains, 2, 0, 1,
4302
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16mr), 0|OPFL_Chain|OPFL_MemRefs,
4303
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
4309
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4310
OPC_EmitMergeInputChains, 2, 0, 1,
4311
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32mr), 0|OPFL_Chain|OPFL_MemRefs,
4312
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
4318
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4319
OPC_EmitMergeInputChains, 2, 0, 1,
4320
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64mr), 0|OPFL_Chain|OPFL_MemRefs,
4321
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
4327
OPC_CheckOpcode, ISD::LOAD,
4328
OPC_CheckPredicate, 4,
4329
OPC_CheckPredicate, 9,
4332
OPC_CheckFoldableChainNode,
4335
OPC_SwitchType , 26, MVT::i8,
4340
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
4341
OPC_EmitMergeInputChains, 2, 0, 2,
4342
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8mr), 0|OPFL_Chain|OPFL_MemRefs,
4343
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
4349
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
4350
OPC_EmitMergeInputChains, 2, 0, 2,
4351
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16mr), 0|OPFL_Chain|OPFL_MemRefs,
4352
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
4358
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
4359
OPC_EmitMergeInputChains, 2, 0, 2,
4360
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32mr), 0|OPFL_Chain|OPFL_MemRefs,
4361
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
4367
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
4368
OPC_EmitMergeInputChains, 2, 0, 2,
4369
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64mr), 0|OPFL_Chain|OPFL_MemRefs,
4370
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
4373
127|128,3, ISD::ROTL,
4375
OPC_CheckOpcode, ISD::LOAD,
4376
OPC_CheckPredicate, 4,
4378
OPC_CheckPredicate, 9,
4379
OPC_CheckPredicate, 10,
4382
OPC_CheckFoldableChainNode,
4386
OPC_CheckInteger, 1,
4387
OPC_CheckType, MVT::i8,
4389
OPC_CheckType, MVT::i8,
4394
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4395
OPC_EmitMergeInputChains, 2, 0, 1,
4396
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL8m1), 0|OPFL_Chain|OPFL_MemRefs,
4397
0, 5, 3, 4, 5, 6, 7,
4399
OPC_CheckPredicate, 6,
4402
OPC_CheckFoldableChainNode,
4406
OPC_CheckInteger, 1,
4407
OPC_CheckType, MVT::i8,
4409
OPC_CheckType, MVT::i16,
4414
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4415
OPC_EmitMergeInputChains, 2, 0, 1,
4416
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL16m1), 0|OPFL_Chain|OPFL_MemRefs,
4417
0, 5, 3, 4, 5, 6, 7,
4419
OPC_CheckPredicate, 5,
4422
OPC_CheckFoldableChainNode,
4426
OPC_CheckInteger, 1,
4427
OPC_CheckType, MVT::i8,
4429
OPC_CheckType, MVT::i32,
4434
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4435
OPC_EmitMergeInputChains, 2, 0, 1,
4436
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL32m1), 0|OPFL_Chain|OPFL_MemRefs,
4437
0, 5, 3, 4, 5, 6, 7,
4439
OPC_CheckPredicate, 9,
4440
OPC_CheckPredicate, 10,
4443
OPC_CheckFoldableChainNode,
4448
OPC_CheckInteger, 1,
4449
OPC_CheckType, MVT::i8,
4451
OPC_CheckType, MVT::i64,
4456
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4457
OPC_EmitMergeInputChains, 2, 0, 1,
4458
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL64m1), 0|OPFL_Chain|OPFL_MemRefs,
4459
0, 5, 3, 4, 5, 6, 7,
4463
OPC_CheckOpcode, ISD::Constant,
4464
OPC_CheckType, MVT::i8,
4466
OPC_CheckType, MVT::i8,
4471
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4472
OPC_EmitMergeInputChains, 2, 0, 1,
4473
OPC_EmitConvertToTarget, 3,
4474
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL8mi), 0|OPFL_Chain|OPFL_MemRefs,
4475
0, 6, 4, 5, 6, 7, 8, 9,
4478
OPC_CheckPredicate, 6,
4481
OPC_CheckFoldableChainNode,
4486
OPC_CheckOpcode, ISD::Constant,
4487
OPC_CheckType, MVT::i8,
4489
OPC_CheckType, MVT::i16,
4494
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4495
OPC_EmitMergeInputChains, 2, 0, 1,
4496
OPC_EmitConvertToTarget, 3,
4497
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL16mi), 0|OPFL_Chain|OPFL_MemRefs,
4498
0, 6, 4, 5, 6, 7, 8, 9,
4500
OPC_CheckPredicate, 5,
4503
OPC_CheckFoldableChainNode,
4508
OPC_CheckOpcode, ISD::Constant,
4509
OPC_CheckType, MVT::i8,
4511
OPC_CheckType, MVT::i32,
4516
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4517
OPC_EmitMergeInputChains, 2, 0, 1,
4518
OPC_EmitConvertToTarget, 3,
4519
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL32mi), 0|OPFL_Chain|OPFL_MemRefs,
4520
0, 6, 4, 5, 6, 7, 8, 9,
4522
OPC_CheckPredicate, 9,
4523
OPC_CheckPredicate, 10,
4526
OPC_CheckFoldableChainNode,
4532
OPC_CheckOpcode, ISD::Constant,
4533
OPC_CheckType, MVT::i8,
4535
OPC_CheckType, MVT::i64,
4540
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4541
OPC_EmitMergeInputChains, 2, 0, 1,
4542
OPC_EmitConvertToTarget, 3,
4543
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL64mi), 0|OPFL_Chain|OPFL_MemRefs,
4544
0, 6, 4, 5, 6, 7, 8, 9,
4546
OPC_CheckChild1Type, MVT::i8,
4547
OPC_CheckType, MVT::i8,
4552
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4553
OPC_EmitMergeInputChains, 2, 0, 1,
4554
OPC_EmitCopyToReg, 3, X86::CL,
4555
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL8mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
4556
0, 5, 4, 5, 6, 7, 8,
4559
OPC_CheckPredicate, 6,
4562
OPC_CheckFoldableChainNode,
4566
OPC_CheckChild1Type, MVT::i8,
4567
OPC_CheckType, MVT::i16,
4572
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4573
OPC_EmitMergeInputChains, 2, 0, 1,
4574
OPC_EmitCopyToReg, 3, X86::CL,
4575
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL16mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
4576
0, 5, 4, 5, 6, 7, 8,
4578
OPC_CheckPredicate, 5,
4581
OPC_CheckFoldableChainNode,
4585
OPC_CheckChild1Type, MVT::i8,
4586
OPC_CheckType, MVT::i32,
4591
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4592
OPC_EmitMergeInputChains, 2, 0, 1,
4593
OPC_EmitCopyToReg, 3, X86::CL,
4594
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL32mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
4595
0, 5, 4, 5, 6, 7, 8,
4597
OPC_CheckPredicate, 9,
4598
OPC_CheckPredicate, 10,
4601
OPC_CheckFoldableChainNode,
4605
OPC_CheckChild1Type, MVT::i8,
4606
OPC_CheckType, MVT::i64,
4611
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4612
OPC_EmitMergeInputChains, 2, 0, 1,
4613
OPC_EmitCopyToReg, 3, X86::CL,
4614
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL64mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
4615
0, 5, 4, 5, 6, 7, 8,
4617
127|128,3, ISD::ROTR,
4619
OPC_CheckOpcode, ISD::LOAD,
4620
OPC_CheckPredicate, 4,
4622
OPC_CheckPredicate, 9,
4623
OPC_CheckPredicate, 10,
4626
OPC_CheckFoldableChainNode,
4630
OPC_CheckInteger, 1,
4631
OPC_CheckType, MVT::i8,
4633
OPC_CheckType, MVT::i8,
4638
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4639
OPC_EmitMergeInputChains, 2, 0, 1,
4640
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR8m1), 0|OPFL_Chain|OPFL_MemRefs,
4641
0, 5, 3, 4, 5, 6, 7,
4643
OPC_CheckPredicate, 6,
4646
OPC_CheckFoldableChainNode,
4650
OPC_CheckInteger, 1,
4651
OPC_CheckType, MVT::i8,
4653
OPC_CheckType, MVT::i16,
4658
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4659
OPC_EmitMergeInputChains, 2, 0, 1,
4660
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR16m1), 0|OPFL_Chain|OPFL_MemRefs,
4661
0, 5, 3, 4, 5, 6, 7,
4663
OPC_CheckPredicate, 5,
4666
OPC_CheckFoldableChainNode,
4670
OPC_CheckInteger, 1,
4671
OPC_CheckType, MVT::i8,
4673
OPC_CheckType, MVT::i32,
4678
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4679
OPC_EmitMergeInputChains, 2, 0, 1,
4680
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR32m1), 0|OPFL_Chain|OPFL_MemRefs,
4681
0, 5, 3, 4, 5, 6, 7,
4683
OPC_CheckPredicate, 9,
4684
OPC_CheckPredicate, 10,
4687
OPC_CheckFoldableChainNode,
4692
OPC_CheckInteger, 1,
4693
OPC_CheckType, MVT::i8,
4695
OPC_CheckType, MVT::i64,
4700
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4701
OPC_EmitMergeInputChains, 2, 0, 1,
4702
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR64m1), 0|OPFL_Chain|OPFL_MemRefs,
4703
0, 5, 3, 4, 5, 6, 7,
4707
OPC_CheckOpcode, ISD::Constant,
4708
OPC_CheckType, MVT::i8,
4710
OPC_CheckType, MVT::i8,
4715
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4716
OPC_EmitMergeInputChains, 2, 0, 1,
4717
OPC_EmitConvertToTarget, 3,
4718
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR8mi), 0|OPFL_Chain|OPFL_MemRefs,
4719
0, 6, 4, 5, 6, 7, 8, 9,
4722
OPC_CheckPredicate, 6,
4725
OPC_CheckFoldableChainNode,
4730
OPC_CheckOpcode, ISD::Constant,
4731
OPC_CheckType, MVT::i8,
4733
OPC_CheckType, MVT::i16,
4738
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4739
OPC_EmitMergeInputChains, 2, 0, 1,
4740
OPC_EmitConvertToTarget, 3,
4741
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR16mi), 0|OPFL_Chain|OPFL_MemRefs,
4742
0, 6, 4, 5, 6, 7, 8, 9,
4744
OPC_CheckPredicate, 5,
4747
OPC_CheckFoldableChainNode,
4752
OPC_CheckOpcode, ISD::Constant,
4753
OPC_CheckType, MVT::i8,
4755
OPC_CheckType, MVT::i32,
4760
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4761
OPC_EmitMergeInputChains, 2, 0, 1,
4762
OPC_EmitConvertToTarget, 3,
4763
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR32mi), 0|OPFL_Chain|OPFL_MemRefs,
4764
0, 6, 4, 5, 6, 7, 8, 9,
4766
OPC_CheckPredicate, 9,
4767
OPC_CheckPredicate, 10,
4770
OPC_CheckFoldableChainNode,
4776
OPC_CheckOpcode, ISD::Constant,
4777
OPC_CheckType, MVT::i8,
4779
OPC_CheckType, MVT::i64,
4784
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4785
OPC_EmitMergeInputChains, 2, 0, 1,
4786
OPC_EmitConvertToTarget, 3,
4787
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR64mi), 0|OPFL_Chain|OPFL_MemRefs,
4788
0, 6, 4, 5, 6, 7, 8, 9,
4790
OPC_CheckChild1Type, MVT::i8,
4791
OPC_CheckType, MVT::i8,
4796
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4797
OPC_EmitMergeInputChains, 2, 0, 1,
4798
OPC_EmitCopyToReg, 3, X86::CL,
4799
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR8mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
4800
0, 5, 4, 5, 6, 7, 8,
4803
OPC_CheckPredicate, 6,
4806
OPC_CheckFoldableChainNode,
4810
OPC_CheckChild1Type, MVT::i8,
4811
OPC_CheckType, MVT::i16,
4816
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4817
OPC_EmitMergeInputChains, 2, 0, 1,
4818
OPC_EmitCopyToReg, 3, X86::CL,
4819
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR16mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
4820
0, 5, 4, 5, 6, 7, 8,
4822
OPC_CheckPredicate, 5,
4825
OPC_CheckFoldableChainNode,
4829
OPC_CheckChild1Type, MVT::i8,
4830
OPC_CheckType, MVT::i32,
4835
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4836
OPC_EmitMergeInputChains, 2, 0, 1,
4837
OPC_EmitCopyToReg, 3, X86::CL,
4838
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR32mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
4839
0, 5, 4, 5, 6, 7, 8,
4841
OPC_CheckPredicate, 9,
4842
OPC_CheckPredicate, 10,
4845
OPC_CheckFoldableChainNode,
4849
OPC_CheckChild1Type, MVT::i8,
4850
OPC_CheckType, MVT::i64,
4855
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4856
OPC_EmitMergeInputChains, 2, 0, 1,
4857
OPC_EmitCopyToReg, 3, X86::CL,
4858
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR64mCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
4859
0, 5, 4, 5, 6, 7, 8,
4862
OPC_Scope, 28|128,3,
4864
OPC_CheckOpcode, ISD::LOAD,
4865
OPC_CheckPredicate, 4,
4866
OPC_Scope, 63|128,1,
4867
OPC_CheckPredicate, 9,
4871
OPC_CheckFoldableChainNode,
4876
OPC_CheckOpcode, ISD::Constant,
4877
OPC_CheckPredicate, 11,
4879
OPC_SwitchType , 28, MVT::i16,
4884
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4885
OPC_EmitMergeInputChains, 2, 0, 1,
4886
OPC_EmitConvertToTarget, 3,
4887
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16mi8), 0|OPFL_Chain|OPFL_MemRefs,
4888
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4894
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4895
OPC_EmitMergeInputChains, 2, 0, 1,
4896
OPC_EmitConvertToTarget, 3,
4897
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32mi8), 0|OPFL_Chain|OPFL_MemRefs,
4898
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4904
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4905
OPC_EmitMergeInputChains, 2, 0, 1,
4906
OPC_EmitConvertToTarget, 3,
4907
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64mi8), 0|OPFL_Chain|OPFL_MemRefs,
4908
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4911
OPC_CheckPredicate, 10,
4914
OPC_CheckFoldableChainNode,
4919
OPC_CheckOpcode, ISD::Constant,
4921
OPC_CheckPredicate, 12,
4923
OPC_CheckType, MVT::i64,
4928
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4929
OPC_EmitMergeInputChains, 2, 0, 1,
4930
OPC_EmitConvertToTarget, 3,
4931
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64mi32), 0|OPFL_Chain|OPFL_MemRefs,
4932
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4935
OPC_CheckType, MVT::i8,
4940
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4941
OPC_EmitMergeInputChains, 2, 0, 1,
4942
OPC_EmitConvertToTarget, 3,
4943
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8mi), 0|OPFL_Chain|OPFL_MemRefs,
4944
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4948
OPC_CheckPredicate, 6,
4951
OPC_CheckFoldableChainNode,
4956
OPC_CheckOpcode, ISD::Constant,
4958
OPC_CheckType, MVT::i16,
4963
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4964
OPC_EmitMergeInputChains, 2, 0, 1,
4965
OPC_EmitConvertToTarget, 3,
4966
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16mi), 0|OPFL_Chain|OPFL_MemRefs,
4967
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4969
OPC_CheckPredicate, 5,
4972
OPC_CheckFoldableChainNode,
4977
OPC_CheckOpcode, ISD::Constant,
4979
OPC_CheckType, MVT::i32,
4984
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
4985
OPC_EmitMergeInputChains, 2, 0, 1,
4986
OPC_EmitConvertToTarget, 3,
4987
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32mi), 0|OPFL_Chain|OPFL_MemRefs,
4988
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
4990
OPC_CheckPredicate, 9,
4993
OPC_CheckFoldableChainNode,
4997
OPC_SwitchType , 26, MVT::i8,
5002
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5003
OPC_EmitMergeInputChains, 2, 0, 1,
5004
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8mr), 0|OPFL_Chain|OPFL_MemRefs,
5005
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
5011
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5012
OPC_EmitMergeInputChains, 2, 0, 1,
5013
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16mr), 0|OPFL_Chain|OPFL_MemRefs,
5014
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
5020
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5021
OPC_EmitMergeInputChains, 2, 0, 1,
5022
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32mr), 0|OPFL_Chain|OPFL_MemRefs,
5023
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
5029
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5030
OPC_EmitMergeInputChains, 2, 0, 1,
5031
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64mr), 0|OPFL_Chain|OPFL_MemRefs,
5032
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
5038
OPC_CheckOpcode, ISD::LOAD,
5039
OPC_CheckPredicate, 4,
5040
OPC_CheckPredicate, 9,
5043
OPC_CheckFoldableChainNode,
5046
OPC_SwitchType , 26, MVT::i8,
5051
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5052
OPC_EmitMergeInputChains, 2, 0, 2,
5053
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8mr), 0|OPFL_Chain|OPFL_MemRefs,
5054
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
5060
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5061
OPC_EmitMergeInputChains, 2, 0, 2,
5062
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16mr), 0|OPFL_Chain|OPFL_MemRefs,
5063
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
5069
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5070
OPC_EmitMergeInputChains, 2, 0, 2,
5071
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32mr), 0|OPFL_Chain|OPFL_MemRefs,
5072
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
5078
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5079
OPC_EmitMergeInputChains, 2, 0, 2,
5080
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64mr), 0|OPFL_Chain|OPFL_MemRefs,
5081
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
5084
68|128,4, ISD::ADDE,
5086
OPC_CaptureFlagInput,
5087
OPC_Scope, 52|128,3,
5089
OPC_CheckOpcode, ISD::LOAD,
5090
OPC_CheckPredicate, 4,
5091
OPC_Scope, 74|128,1,
5092
OPC_CheckPredicate, 9,
5093
OPC_Scope, 22|128,1,
5096
OPC_CheckFoldableChainNode,
5101
OPC_CheckOpcode, ISD::Constant,
5103
OPC_CheckPredicate, 11,
5105
OPC_SwitchType , 30, MVT::i16,
5110
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5111
OPC_EmitMergeInputChains, 2, 0, 2,
5112
OPC_EmitConvertToTarget, 4,
5113
OPC_MarkFlagResults, 1, 1,
5114
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC16mi8), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5115
0, 6, 5, 6, 7, 8, 9, 10,
5121
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5122
OPC_EmitMergeInputChains, 2, 0, 2,
5123
OPC_EmitConvertToTarget, 4,
5124
OPC_MarkFlagResults, 1, 1,
5125
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC32mi8), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5126
0, 6, 5, 6, 7, 8, 9, 10,
5132
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5133
OPC_EmitMergeInputChains, 2, 0, 2,
5134
OPC_EmitConvertToTarget, 4,
5135
OPC_MarkFlagResults, 1, 1,
5136
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC64mi8), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5137
0, 6, 5, 6, 7, 8, 9, 10,
5140
OPC_CheckPredicate, 12,
5142
OPC_CheckType, MVT::i64,
5147
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5148
OPC_EmitMergeInputChains, 2, 0, 2,
5149
OPC_EmitConvertToTarget, 4,
5150
OPC_MarkFlagResults, 1, 1,
5151
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC64mi32), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5152
0, 6, 5, 6, 7, 8, 9, 10,
5155
OPC_CheckPredicate, 10,
5158
OPC_CheckFoldableChainNode,
5163
OPC_CheckOpcode, ISD::Constant,
5165
OPC_CheckType, MVT::i8,
5170
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5171
OPC_EmitMergeInputChains, 2, 0, 2,
5172
OPC_EmitConvertToTarget, 4,
5173
OPC_MarkFlagResults, 1, 1,
5174
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC8mi), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5175
0, 6, 5, 6, 7, 8, 9, 10,
5178
OPC_CheckPredicate, 6,
5181
OPC_CheckFoldableChainNode,
5186
OPC_CheckOpcode, ISD::Constant,
5188
OPC_CheckType, MVT::i16,
5193
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5194
OPC_EmitMergeInputChains, 2, 0, 2,
5195
OPC_EmitConvertToTarget, 4,
5196
OPC_MarkFlagResults, 1, 1,
5197
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC16mi), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5198
0, 6, 5, 6, 7, 8, 9, 10,
5200
OPC_CheckPredicate, 5,
5203
OPC_CheckFoldableChainNode,
5208
OPC_CheckOpcode, ISD::Constant,
5210
OPC_CheckType, MVT::i32,
5215
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5216
OPC_EmitMergeInputChains, 2, 0, 2,
5217
OPC_EmitConvertToTarget, 4,
5218
OPC_MarkFlagResults, 1, 1,
5219
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC32mi), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5220
0, 6, 5, 6, 7, 8, 9, 10,
5222
OPC_CheckPredicate, 9,
5225
OPC_CheckFoldableChainNode,
5229
OPC_SwitchType , 28, MVT::i8,
5234
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5235
OPC_EmitMergeInputChains, 2, 0, 2,
5236
OPC_MarkFlagResults, 1, 1,
5237
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC8mr), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5238
0, 6, 5, 6, 7, 8, 9, 4,
5244
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5245
OPC_EmitMergeInputChains, 2, 0, 2,
5246
OPC_MarkFlagResults, 1, 1,
5247
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC16mr), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5248
0, 6, 5, 6, 7, 8, 9, 4,
5254
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5255
OPC_EmitMergeInputChains, 2, 0, 2,
5256
OPC_MarkFlagResults, 1, 1,
5257
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC32mr), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5258
0, 6, 5, 6, 7, 8, 9, 4,
5264
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5265
OPC_EmitMergeInputChains, 2, 0, 2,
5266
OPC_MarkFlagResults, 1, 1,
5267
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC64mr), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5268
0, 6, 5, 6, 7, 8, 9, 4,
5274
OPC_CheckOpcode, ISD::LOAD,
5275
OPC_CheckPredicate, 4,
5276
OPC_CheckPredicate, 9,
5279
OPC_CheckFoldableChainNode,
5282
OPC_SwitchType , 28, MVT::i8,
5287
OPC_CheckComplexPat, /*CP*/0, /*#*/4,
5288
OPC_EmitMergeInputChains, 2, 0, 3,
5289
OPC_MarkFlagResults, 1, 1,
5290
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC8mr), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5291
0, 6, 5, 6, 7, 8, 9, 2,
5297
OPC_CheckComplexPat, /*CP*/0, /*#*/4,
5298
OPC_EmitMergeInputChains, 2, 0, 3,
5299
OPC_MarkFlagResults, 1, 1,
5300
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC16mr), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5301
0, 6, 5, 6, 7, 8, 9, 2,
5307
OPC_CheckComplexPat, /*CP*/0, /*#*/4,
5308
OPC_EmitMergeInputChains, 2, 0, 3,
5309
OPC_MarkFlagResults, 1, 1,
5310
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC32mr), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5311
0, 6, 5, 6, 7, 8, 9, 2,
5317
OPC_CheckComplexPat, /*CP*/0, /*#*/4,
5318
OPC_EmitMergeInputChains, 2, 0, 3,
5319
OPC_MarkFlagResults, 1, 1,
5320
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC64mr), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5321
0, 6, 5, 6, 7, 8, 9, 2,
5324
54|128,3, ISD::SUBE,
5326
OPC_CaptureFlagInput,
5328
OPC_CheckOpcode, ISD::LOAD,
5329
OPC_CheckPredicate, 4,
5330
OPC_Scope, 74|128,1,
5331
OPC_CheckPredicate, 9,
5332
OPC_Scope, 22|128,1,
5335
OPC_CheckFoldableChainNode,
5340
OPC_CheckOpcode, ISD::Constant,
5342
OPC_CheckPredicate, 11,
5344
OPC_SwitchType , 30, MVT::i16,
5349
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5350
OPC_EmitMergeInputChains, 2, 0, 2,
5351
OPC_EmitConvertToTarget, 4,
5352
OPC_MarkFlagResults, 1, 1,
5353
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB16mi8), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5354
0, 6, 5, 6, 7, 8, 9, 10,
5360
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5361
OPC_EmitMergeInputChains, 2, 0, 2,
5362
OPC_EmitConvertToTarget, 4,
5363
OPC_MarkFlagResults, 1, 1,
5364
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB32mi8), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5365
0, 6, 5, 6, 7, 8, 9, 10,
5371
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5372
OPC_EmitMergeInputChains, 2, 0, 2,
5373
OPC_EmitConvertToTarget, 4,
5374
OPC_MarkFlagResults, 1, 1,
5375
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB64mi8), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5376
0, 6, 5, 6, 7, 8, 9, 10,
5379
OPC_CheckPredicate, 12,
5381
OPC_CheckType, MVT::i64,
5386
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5387
OPC_EmitMergeInputChains, 2, 0, 2,
5388
OPC_EmitConvertToTarget, 4,
5389
OPC_MarkFlagResults, 1, 1,
5390
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB64mi32), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5391
0, 6, 5, 6, 7, 8, 9, 10,
5394
OPC_CheckPredicate, 10,
5397
OPC_CheckFoldableChainNode,
5402
OPC_CheckOpcode, ISD::Constant,
5404
OPC_CheckType, MVT::i8,
5409
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5410
OPC_EmitMergeInputChains, 2, 0, 2,
5411
OPC_EmitConvertToTarget, 4,
5412
OPC_MarkFlagResults, 1, 1,
5413
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB8mi), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5414
0, 6, 5, 6, 7, 8, 9, 10,
5417
OPC_CheckPredicate, 6,
5420
OPC_CheckFoldableChainNode,
5425
OPC_CheckOpcode, ISD::Constant,
5427
OPC_CheckType, MVT::i16,
5432
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5433
OPC_EmitMergeInputChains, 2, 0, 2,
5434
OPC_EmitConvertToTarget, 4,
5435
OPC_MarkFlagResults, 1, 1,
5436
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB16mi), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5437
0, 6, 5, 6, 7, 8, 9, 10,
5439
OPC_CheckPredicate, 5,
5442
OPC_CheckFoldableChainNode,
5447
OPC_CheckOpcode, ISD::Constant,
5449
OPC_CheckType, MVT::i32,
5454
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5455
OPC_EmitMergeInputChains, 2, 0, 2,
5456
OPC_EmitConvertToTarget, 4,
5457
OPC_MarkFlagResults, 1, 1,
5458
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB32mi), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5459
0, 6, 5, 6, 7, 8, 9, 10,
5461
OPC_CheckPredicate, 9,
5464
OPC_CheckFoldableChainNode,
5468
OPC_SwitchType , 28, MVT::i8,
5473
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5474
OPC_EmitMergeInputChains, 2, 0, 2,
5475
OPC_MarkFlagResults, 1, 1,
5476
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB8mr), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5477
0, 6, 5, 6, 7, 8, 9, 4,
5483
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5484
OPC_EmitMergeInputChains, 2, 0, 2,
5485
OPC_MarkFlagResults, 1, 1,
5486
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB16mr), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5487
0, 6, 5, 6, 7, 8, 9, 4,
5493
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5494
OPC_EmitMergeInputChains, 2, 0, 2,
5495
OPC_MarkFlagResults, 1, 1,
5496
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB32mr), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5497
0, 6, 5, 6, 7, 8, 9, 4,
5503
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5504
OPC_EmitMergeInputChains, 2, 0, 2,
5505
OPC_MarkFlagResults, 1, 1,
5506
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB64mr), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
5507
0, 6, 5, 6, 7, 8, 9, 4,
5510
108|128,4, X86ISD::ADD,
5511
OPC_Scope, 73|128,3,
5513
OPC_CheckOpcode, ISD::LOAD,
5514
OPC_CheckPredicate, 4,
5516
OPC_CheckPredicate, 6,
5519
OPC_CheckFoldableChainNode,
5524
OPC_CheckOpcode, ISD::Constant,
5525
OPC_CheckPredicate, 11,
5527
OPC_CheckType, MVT::i16,
5532
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5533
OPC_EmitMergeInputChains, 2, 0, 1,
5534
OPC_EmitConvertToTarget, 3,
5535
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16mi8), 0|OPFL_Chain|OPFL_MemRefs,
5536
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5538
OPC_CheckPredicate, 5,
5541
OPC_CheckFoldableChainNode,
5546
OPC_CheckOpcode, ISD::Constant,
5547
OPC_CheckPredicate, 11,
5549
OPC_CheckType, MVT::i32,
5554
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5555
OPC_EmitMergeInputChains, 2, 0, 1,
5556
OPC_EmitConvertToTarget, 3,
5557
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32mi8), 0|OPFL_Chain|OPFL_MemRefs,
5558
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5560
OPC_CheckPredicate, 9,
5561
OPC_CheckPredicate, 10,
5564
OPC_CheckFoldableChainNode,
5569
OPC_CheckOpcode, ISD::Constant,
5571
OPC_CheckPredicate, 11,
5573
OPC_CheckType, MVT::i64,
5578
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5579
OPC_EmitMergeInputChains, 2, 0, 1,
5580
OPC_EmitConvertToTarget, 3,
5581
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64mi8), 0|OPFL_Chain|OPFL_MemRefs,
5582
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5584
OPC_CheckPredicate, 12,
5586
OPC_CheckType, MVT::i64,
5591
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5592
OPC_EmitMergeInputChains, 2, 0, 1,
5593
OPC_EmitConvertToTarget, 3,
5594
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64mi32), 0|OPFL_Chain|OPFL_MemRefs,
5595
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5598
OPC_CheckType, MVT::i8,
5603
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5604
OPC_EmitMergeInputChains, 2, 0, 1,
5605
OPC_EmitConvertToTarget, 3,
5606
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8mi), 0|OPFL_Chain|OPFL_MemRefs,
5607
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5610
OPC_CheckPredicate, 6,
5613
OPC_CheckFoldableChainNode,
5618
OPC_CheckOpcode, ISD::Constant,
5620
OPC_CheckType, MVT::i16,
5625
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5626
OPC_EmitMergeInputChains, 2, 0, 1,
5627
OPC_EmitConvertToTarget, 3,
5628
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16mi), 0|OPFL_Chain|OPFL_MemRefs,
5629
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5631
OPC_CheckPredicate, 5,
5634
OPC_CheckFoldableChainNode,
5639
OPC_CheckOpcode, ISD::Constant,
5641
OPC_CheckType, MVT::i32,
5646
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5647
OPC_EmitMergeInputChains, 2, 0, 1,
5648
OPC_EmitConvertToTarget, 3,
5649
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32mi), 0|OPFL_Chain|OPFL_MemRefs,
5650
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5652
OPC_CheckPredicate, 9,
5653
OPC_CheckPredicate, 10,
5656
OPC_CheckFoldableChainNode,
5660
OPC_CheckType, MVT::i8,
5665
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5666
OPC_EmitMergeInputChains, 2, 0, 1,
5667
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8mr), 0|OPFL_Chain|OPFL_MemRefs,
5668
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
5670
OPC_CheckPredicate, 6,
5673
OPC_CheckFoldableChainNode,
5677
OPC_CheckType, MVT::i16,
5682
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5683
OPC_EmitMergeInputChains, 2, 0, 1,
5684
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16mr), 0|OPFL_Chain|OPFL_MemRefs,
5685
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
5687
OPC_CheckPredicate, 5,
5690
OPC_CheckFoldableChainNode,
5694
OPC_CheckType, MVT::i32,
5699
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5700
OPC_EmitMergeInputChains, 2, 0, 1,
5701
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32mr), 0|OPFL_Chain|OPFL_MemRefs,
5702
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
5704
OPC_CheckPredicate, 9,
5705
OPC_CheckPredicate, 10,
5708
OPC_CheckFoldableChainNode,
5712
OPC_CheckType, MVT::i64,
5717
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5718
OPC_EmitMergeInputChains, 2, 0, 1,
5719
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64mr), 0|OPFL_Chain|OPFL_MemRefs,
5720
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
5725
OPC_CheckOpcode, ISD::LOAD,
5726
OPC_CheckPredicate, 4,
5728
OPC_CheckPredicate, 9,
5729
OPC_CheckPredicate, 10,
5732
OPC_CheckFoldableChainNode,
5735
OPC_CheckType, MVT::i8,
5740
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5741
OPC_EmitMergeInputChains, 2, 0, 2,
5742
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8mr), 0|OPFL_Chain|OPFL_MemRefs,
5743
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
5745
OPC_CheckPredicate, 6,
5748
OPC_CheckFoldableChainNode,
5751
OPC_CheckType, MVT::i16,
5756
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5757
OPC_EmitMergeInputChains, 2, 0, 2,
5758
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16mr), 0|OPFL_Chain|OPFL_MemRefs,
5759
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
5761
OPC_CheckPredicate, 5,
5764
OPC_CheckFoldableChainNode,
5767
OPC_CheckType, MVT::i32,
5772
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5773
OPC_EmitMergeInputChains, 2, 0, 2,
5774
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32mr), 0|OPFL_Chain|OPFL_MemRefs,
5775
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
5777
OPC_CheckPredicate, 9,
5778
OPC_CheckPredicate, 10,
5781
OPC_CheckFoldableChainNode,
5784
OPC_CheckType, MVT::i64,
5789
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
5790
OPC_EmitMergeInputChains, 2, 0, 2,
5791
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64mr), 0|OPFL_Chain|OPFL_MemRefs,
5792
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
5795
73|128,3, X86ISD::SUB,
5797
OPC_CheckOpcode, ISD::LOAD,
5798
OPC_CheckPredicate, 4,
5800
OPC_CheckPredicate, 6,
5803
OPC_CheckFoldableChainNode,
5808
OPC_CheckOpcode, ISD::Constant,
5809
OPC_CheckPredicate, 11,
5811
OPC_CheckType, MVT::i16,
5816
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5817
OPC_EmitMergeInputChains, 2, 0, 1,
5818
OPC_EmitConvertToTarget, 3,
5819
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16mi8), 0|OPFL_Chain|OPFL_MemRefs,
5820
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5822
OPC_CheckPredicate, 5,
5825
OPC_CheckFoldableChainNode,
5830
OPC_CheckOpcode, ISD::Constant,
5831
OPC_CheckPredicate, 11,
5833
OPC_CheckType, MVT::i32,
5838
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5839
OPC_EmitMergeInputChains, 2, 0, 1,
5840
OPC_EmitConvertToTarget, 3,
5841
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32mi8), 0|OPFL_Chain|OPFL_MemRefs,
5842
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5844
OPC_CheckPredicate, 9,
5845
OPC_CheckPredicate, 10,
5848
OPC_CheckFoldableChainNode,
5853
OPC_CheckOpcode, ISD::Constant,
5855
OPC_CheckPredicate, 11,
5857
OPC_CheckType, MVT::i64,
5862
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5863
OPC_EmitMergeInputChains, 2, 0, 1,
5864
OPC_EmitConvertToTarget, 3,
5865
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64mi8), 0|OPFL_Chain|OPFL_MemRefs,
5866
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5868
OPC_CheckPredicate, 12,
5870
OPC_CheckType, MVT::i64,
5875
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5876
OPC_EmitMergeInputChains, 2, 0, 1,
5877
OPC_EmitConvertToTarget, 3,
5878
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64mi32), 0|OPFL_Chain|OPFL_MemRefs,
5879
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5882
OPC_CheckType, MVT::i8,
5887
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5888
OPC_EmitMergeInputChains, 2, 0, 1,
5889
OPC_EmitConvertToTarget, 3,
5890
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB8mi), 0|OPFL_Chain|OPFL_MemRefs,
5891
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5894
OPC_CheckPredicate, 6,
5897
OPC_CheckFoldableChainNode,
5902
OPC_CheckOpcode, ISD::Constant,
5904
OPC_CheckType, MVT::i16,
5909
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5910
OPC_EmitMergeInputChains, 2, 0, 1,
5911
OPC_EmitConvertToTarget, 3,
5912
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16mi), 0|OPFL_Chain|OPFL_MemRefs,
5913
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5915
OPC_CheckPredicate, 5,
5918
OPC_CheckFoldableChainNode,
5923
OPC_CheckOpcode, ISD::Constant,
5925
OPC_CheckType, MVT::i32,
5930
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5931
OPC_EmitMergeInputChains, 2, 0, 1,
5932
OPC_EmitConvertToTarget, 3,
5933
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32mi), 0|OPFL_Chain|OPFL_MemRefs,
5934
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
5936
OPC_CheckPredicate, 9,
5937
OPC_CheckPredicate, 10,
5940
OPC_CheckFoldableChainNode,
5944
OPC_CheckType, MVT::i8,
5949
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5950
OPC_EmitMergeInputChains, 2, 0, 1,
5951
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB8mr), 0|OPFL_Chain|OPFL_MemRefs,
5952
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
5954
OPC_CheckPredicate, 6,
5957
OPC_CheckFoldableChainNode,
5961
OPC_CheckType, MVT::i16,
5966
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5967
OPC_EmitMergeInputChains, 2, 0, 1,
5968
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16mr), 0|OPFL_Chain|OPFL_MemRefs,
5969
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
5971
OPC_CheckPredicate, 5,
5974
OPC_CheckFoldableChainNode,
5978
OPC_CheckType, MVT::i32,
5983
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
5984
OPC_EmitMergeInputChains, 2, 0, 1,
5985
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32mr), 0|OPFL_Chain|OPFL_MemRefs,
5986
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
5988
OPC_CheckPredicate, 9,
5989
OPC_CheckPredicate, 10,
5992
OPC_CheckFoldableChainNode,
5996
OPC_CheckType, MVT::i64,
6001
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6002
OPC_EmitMergeInputChains, 2, 0, 1,
6003
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64mr), 0|OPFL_Chain|OPFL_MemRefs,
6004
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
6006
108|128,4, X86ISD::OR,
6007
OPC_Scope, 73|128,3,
6009
OPC_CheckOpcode, ISD::LOAD,
6010
OPC_CheckPredicate, 4,
6012
OPC_CheckPredicate, 6,
6015
OPC_CheckFoldableChainNode,
6020
OPC_CheckOpcode, ISD::Constant,
6021
OPC_CheckPredicate, 11,
6023
OPC_CheckType, MVT::i16,
6028
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6029
OPC_EmitMergeInputChains, 2, 0, 1,
6030
OPC_EmitConvertToTarget, 3,
6031
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16mi8), 0|OPFL_Chain|OPFL_MemRefs,
6032
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6034
OPC_CheckPredicate, 5,
6037
OPC_CheckFoldableChainNode,
6042
OPC_CheckOpcode, ISD::Constant,
6043
OPC_CheckPredicate, 11,
6045
OPC_CheckType, MVT::i32,
6050
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6051
OPC_EmitMergeInputChains, 2, 0, 1,
6052
OPC_EmitConvertToTarget, 3,
6053
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32mi8), 0|OPFL_Chain|OPFL_MemRefs,
6054
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6056
OPC_CheckPredicate, 9,
6057
OPC_CheckPredicate, 10,
6060
OPC_CheckFoldableChainNode,
6065
OPC_CheckOpcode, ISD::Constant,
6067
OPC_CheckPredicate, 11,
6069
OPC_CheckType, MVT::i64,
6074
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6075
OPC_EmitMergeInputChains, 2, 0, 1,
6076
OPC_EmitConvertToTarget, 3,
6077
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64mi8), 0|OPFL_Chain|OPFL_MemRefs,
6078
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6080
OPC_CheckPredicate, 12,
6082
OPC_CheckType, MVT::i64,
6087
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6088
OPC_EmitMergeInputChains, 2, 0, 1,
6089
OPC_EmitConvertToTarget, 3,
6090
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64mi32), 0|OPFL_Chain|OPFL_MemRefs,
6091
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6094
OPC_CheckType, MVT::i8,
6099
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6100
OPC_EmitMergeInputChains, 2, 0, 1,
6101
OPC_EmitConvertToTarget, 3,
6102
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8mi), 0|OPFL_Chain|OPFL_MemRefs,
6103
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6106
OPC_CheckPredicate, 6,
6109
OPC_CheckFoldableChainNode,
6114
OPC_CheckOpcode, ISD::Constant,
6116
OPC_CheckType, MVT::i16,
6121
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6122
OPC_EmitMergeInputChains, 2, 0, 1,
6123
OPC_EmitConvertToTarget, 3,
6124
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16mi), 0|OPFL_Chain|OPFL_MemRefs,
6125
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6127
OPC_CheckPredicate, 5,
6130
OPC_CheckFoldableChainNode,
6135
OPC_CheckOpcode, ISD::Constant,
6137
OPC_CheckType, MVT::i32,
6142
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6143
OPC_EmitMergeInputChains, 2, 0, 1,
6144
OPC_EmitConvertToTarget, 3,
6145
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32mi), 0|OPFL_Chain|OPFL_MemRefs,
6146
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6148
OPC_CheckPredicate, 9,
6149
OPC_CheckPredicate, 10,
6152
OPC_CheckFoldableChainNode,
6156
OPC_CheckType, MVT::i8,
6161
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6162
OPC_EmitMergeInputChains, 2, 0, 1,
6163
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8mr), 0|OPFL_Chain|OPFL_MemRefs,
6164
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
6166
OPC_CheckPredicate, 6,
6169
OPC_CheckFoldableChainNode,
6173
OPC_CheckType, MVT::i16,
6178
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6179
OPC_EmitMergeInputChains, 2, 0, 1,
6180
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16mr), 0|OPFL_Chain|OPFL_MemRefs,
6181
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
6183
OPC_CheckPredicate, 5,
6186
OPC_CheckFoldableChainNode,
6190
OPC_CheckType, MVT::i32,
6195
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6196
OPC_EmitMergeInputChains, 2, 0, 1,
6197
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32mr), 0|OPFL_Chain|OPFL_MemRefs,
6198
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
6200
OPC_CheckPredicate, 9,
6201
OPC_CheckPredicate, 10,
6204
OPC_CheckFoldableChainNode,
6208
OPC_CheckType, MVT::i64,
6213
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6214
OPC_EmitMergeInputChains, 2, 0, 1,
6215
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64mr), 0|OPFL_Chain|OPFL_MemRefs,
6216
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
6221
OPC_CheckOpcode, ISD::LOAD,
6222
OPC_CheckPredicate, 4,
6224
OPC_CheckPredicate, 9,
6225
OPC_CheckPredicate, 10,
6228
OPC_CheckFoldableChainNode,
6231
OPC_CheckType, MVT::i8,
6236
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
6237
OPC_EmitMergeInputChains, 2, 0, 2,
6238
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8mr), 0|OPFL_Chain|OPFL_MemRefs,
6239
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
6241
OPC_CheckPredicate, 6,
6244
OPC_CheckFoldableChainNode,
6247
OPC_CheckType, MVT::i16,
6252
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
6253
OPC_EmitMergeInputChains, 2, 0, 2,
6254
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16mr), 0|OPFL_Chain|OPFL_MemRefs,
6255
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
6257
OPC_CheckPredicate, 5,
6260
OPC_CheckFoldableChainNode,
6263
OPC_CheckType, MVT::i32,
6268
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
6269
OPC_EmitMergeInputChains, 2, 0, 2,
6270
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32mr), 0|OPFL_Chain|OPFL_MemRefs,
6271
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
6273
OPC_CheckPredicate, 9,
6274
OPC_CheckPredicate, 10,
6277
OPC_CheckFoldableChainNode,
6280
OPC_CheckType, MVT::i64,
6285
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
6286
OPC_EmitMergeInputChains, 2, 0, 2,
6287
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64mr), 0|OPFL_Chain|OPFL_MemRefs,
6288
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
6291
108|128,4, X86ISD::XOR,
6292
OPC_Scope, 73|128,3,
6294
OPC_CheckOpcode, ISD::LOAD,
6295
OPC_CheckPredicate, 4,
6297
OPC_CheckPredicate, 6,
6300
OPC_CheckFoldableChainNode,
6305
OPC_CheckOpcode, ISD::Constant,
6306
OPC_CheckPredicate, 11,
6308
OPC_CheckType, MVT::i16,
6313
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6314
OPC_EmitMergeInputChains, 2, 0, 1,
6315
OPC_EmitConvertToTarget, 3,
6316
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16mi8), 0|OPFL_Chain|OPFL_MemRefs,
6317
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6319
OPC_CheckPredicate, 5,
6322
OPC_CheckFoldableChainNode,
6327
OPC_CheckOpcode, ISD::Constant,
6328
OPC_CheckPredicate, 11,
6330
OPC_CheckType, MVT::i32,
6335
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6336
OPC_EmitMergeInputChains, 2, 0, 1,
6337
OPC_EmitConvertToTarget, 3,
6338
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32mi8), 0|OPFL_Chain|OPFL_MemRefs,
6339
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6341
OPC_CheckPredicate, 9,
6342
OPC_CheckPredicate, 10,
6345
OPC_CheckFoldableChainNode,
6350
OPC_CheckOpcode, ISD::Constant,
6352
OPC_CheckPredicate, 11,
6354
OPC_CheckType, MVT::i64,
6359
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6360
OPC_EmitMergeInputChains, 2, 0, 1,
6361
OPC_EmitConvertToTarget, 3,
6362
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64mi8), 0|OPFL_Chain|OPFL_MemRefs,
6363
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6365
OPC_CheckPredicate, 12,
6367
OPC_CheckType, MVT::i64,
6372
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6373
OPC_EmitMergeInputChains, 2, 0, 1,
6374
OPC_EmitConvertToTarget, 3,
6375
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64mi32), 0|OPFL_Chain|OPFL_MemRefs,
6376
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6379
OPC_CheckType, MVT::i8,
6384
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6385
OPC_EmitMergeInputChains, 2, 0, 1,
6386
OPC_EmitConvertToTarget, 3,
6387
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8mi), 0|OPFL_Chain|OPFL_MemRefs,
6388
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6391
OPC_CheckPredicate, 6,
6394
OPC_CheckFoldableChainNode,
6399
OPC_CheckOpcode, ISD::Constant,
6401
OPC_CheckType, MVT::i16,
6406
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6407
OPC_EmitMergeInputChains, 2, 0, 1,
6408
OPC_EmitConvertToTarget, 3,
6409
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16mi), 0|OPFL_Chain|OPFL_MemRefs,
6410
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6412
OPC_CheckPredicate, 5,
6415
OPC_CheckFoldableChainNode,
6420
OPC_CheckOpcode, ISD::Constant,
6422
OPC_CheckType, MVT::i32,
6427
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6428
OPC_EmitMergeInputChains, 2, 0, 1,
6429
OPC_EmitConvertToTarget, 3,
6430
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32mi), 0|OPFL_Chain|OPFL_MemRefs,
6431
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6433
OPC_CheckPredicate, 9,
6434
OPC_CheckPredicate, 10,
6437
OPC_CheckFoldableChainNode,
6441
OPC_CheckType, MVT::i8,
6446
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6447
OPC_EmitMergeInputChains, 2, 0, 1,
6448
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8mr), 0|OPFL_Chain|OPFL_MemRefs,
6449
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
6451
OPC_CheckPredicate, 6,
6454
OPC_CheckFoldableChainNode,
6458
OPC_CheckType, MVT::i16,
6463
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6464
OPC_EmitMergeInputChains, 2, 0, 1,
6465
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16mr), 0|OPFL_Chain|OPFL_MemRefs,
6466
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
6468
OPC_CheckPredicate, 5,
6471
OPC_CheckFoldableChainNode,
6475
OPC_CheckType, MVT::i32,
6480
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6481
OPC_EmitMergeInputChains, 2, 0, 1,
6482
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32mr), 0|OPFL_Chain|OPFL_MemRefs,
6483
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
6485
OPC_CheckPredicate, 9,
6486
OPC_CheckPredicate, 10,
6489
OPC_CheckFoldableChainNode,
6493
OPC_CheckType, MVT::i64,
6498
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6499
OPC_EmitMergeInputChains, 2, 0, 1,
6500
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64mr), 0|OPFL_Chain|OPFL_MemRefs,
6501
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
6506
OPC_CheckOpcode, ISD::LOAD,
6507
OPC_CheckPredicate, 4,
6509
OPC_CheckPredicate, 9,
6510
OPC_CheckPredicate, 10,
6513
OPC_CheckFoldableChainNode,
6516
OPC_CheckType, MVT::i8,
6521
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
6522
OPC_EmitMergeInputChains, 2, 0, 2,
6523
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8mr), 0|OPFL_Chain|OPFL_MemRefs,
6524
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
6526
OPC_CheckPredicate, 6,
6529
OPC_CheckFoldableChainNode,
6532
OPC_CheckType, MVT::i16,
6537
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
6538
OPC_EmitMergeInputChains, 2, 0, 2,
6539
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16mr), 0|OPFL_Chain|OPFL_MemRefs,
6540
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
6542
OPC_CheckPredicate, 5,
6545
OPC_CheckFoldableChainNode,
6548
OPC_CheckType, MVT::i32,
6553
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
6554
OPC_EmitMergeInputChains, 2, 0, 2,
6555
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32mr), 0|OPFL_Chain|OPFL_MemRefs,
6556
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
6558
OPC_CheckPredicate, 9,
6559
OPC_CheckPredicate, 10,
6562
OPC_CheckFoldableChainNode,
6565
OPC_CheckType, MVT::i64,
6570
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
6571
OPC_EmitMergeInputChains, 2, 0, 2,
6572
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64mr), 0|OPFL_Chain|OPFL_MemRefs,
6573
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
6576
108|128,4, X86ISD::AND,
6577
OPC_Scope, 73|128,3,
6579
OPC_CheckOpcode, ISD::LOAD,
6580
OPC_CheckPredicate, 4,
6582
OPC_CheckPredicate, 6,
6585
OPC_CheckFoldableChainNode,
6590
OPC_CheckOpcode, ISD::Constant,
6591
OPC_CheckPredicate, 11,
6593
OPC_CheckType, MVT::i16,
6598
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6599
OPC_EmitMergeInputChains, 2, 0, 1,
6600
OPC_EmitConvertToTarget, 3,
6601
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16mi8), 0|OPFL_Chain|OPFL_MemRefs,
6602
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6604
OPC_CheckPredicate, 5,
6607
OPC_CheckFoldableChainNode,
6612
OPC_CheckOpcode, ISD::Constant,
6613
OPC_CheckPredicate, 11,
6615
OPC_CheckType, MVT::i32,
6620
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6621
OPC_EmitMergeInputChains, 2, 0, 1,
6622
OPC_EmitConvertToTarget, 3,
6623
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32mi8), 0|OPFL_Chain|OPFL_MemRefs,
6624
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6626
OPC_CheckPredicate, 9,
6627
OPC_CheckPredicate, 10,
6630
OPC_CheckFoldableChainNode,
6635
OPC_CheckOpcode, ISD::Constant,
6637
OPC_CheckPredicate, 11,
6639
OPC_CheckType, MVT::i64,
6644
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6645
OPC_EmitMergeInputChains, 2, 0, 1,
6646
OPC_EmitConvertToTarget, 3,
6647
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64mi8), 0|OPFL_Chain|OPFL_MemRefs,
6648
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6650
OPC_CheckPredicate, 12,
6652
OPC_CheckType, MVT::i64,
6657
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6658
OPC_EmitMergeInputChains, 2, 0, 1,
6659
OPC_EmitConvertToTarget, 3,
6660
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64mi32), 0|OPFL_Chain|OPFL_MemRefs,
6661
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6664
OPC_CheckType, MVT::i8,
6669
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6670
OPC_EmitMergeInputChains, 2, 0, 1,
6671
OPC_EmitConvertToTarget, 3,
6672
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8mi), 0|OPFL_Chain|OPFL_MemRefs,
6673
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6676
OPC_CheckPredicate, 6,
6679
OPC_CheckFoldableChainNode,
6684
OPC_CheckOpcode, ISD::Constant,
6686
OPC_CheckType, MVT::i16,
6691
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6692
OPC_EmitMergeInputChains, 2, 0, 1,
6693
OPC_EmitConvertToTarget, 3,
6694
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16mi), 0|OPFL_Chain|OPFL_MemRefs,
6695
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6697
OPC_CheckPredicate, 5,
6700
OPC_CheckFoldableChainNode,
6705
OPC_CheckOpcode, ISD::Constant,
6707
OPC_CheckType, MVT::i32,
6712
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6713
OPC_EmitMergeInputChains, 2, 0, 1,
6714
OPC_EmitConvertToTarget, 3,
6715
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32mi), 0|OPFL_Chain|OPFL_MemRefs,
6716
1, MVT::i32, 6, 4, 5, 6, 7, 8, 9,
6718
OPC_CheckPredicate, 9,
6719
OPC_CheckPredicate, 10,
6722
OPC_CheckFoldableChainNode,
6726
OPC_CheckType, MVT::i8,
6731
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6732
OPC_EmitMergeInputChains, 2, 0, 1,
6733
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8mr), 0|OPFL_Chain|OPFL_MemRefs,
6734
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
6736
OPC_CheckPredicate, 6,
6739
OPC_CheckFoldableChainNode,
6743
OPC_CheckType, MVT::i16,
6748
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6749
OPC_EmitMergeInputChains, 2, 0, 1,
6750
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16mr), 0|OPFL_Chain|OPFL_MemRefs,
6751
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
6753
OPC_CheckPredicate, 5,
6756
OPC_CheckFoldableChainNode,
6760
OPC_CheckType, MVT::i32,
6765
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6766
OPC_EmitMergeInputChains, 2, 0, 1,
6767
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32mr), 0|OPFL_Chain|OPFL_MemRefs,
6768
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
6770
OPC_CheckPredicate, 9,
6771
OPC_CheckPredicate, 10,
6774
OPC_CheckFoldableChainNode,
6778
OPC_CheckType, MVT::i64,
6783
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6784
OPC_EmitMergeInputChains, 2, 0, 1,
6785
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64mr), 0|OPFL_Chain|OPFL_MemRefs,
6786
1, MVT::i32, 6, 4, 5, 6, 7, 8, 3,
6791
OPC_CheckOpcode, ISD::LOAD,
6792
OPC_CheckPredicate, 4,
6794
OPC_CheckPredicate, 9,
6795
OPC_CheckPredicate, 10,
6798
OPC_CheckFoldableChainNode,
6801
OPC_CheckType, MVT::i8,
6806
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
6807
OPC_EmitMergeInputChains, 2, 0, 2,
6808
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8mr), 0|OPFL_Chain|OPFL_MemRefs,
6809
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
6811
OPC_CheckPredicate, 6,
6814
OPC_CheckFoldableChainNode,
6817
OPC_CheckType, MVT::i16,
6822
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
6823
OPC_EmitMergeInputChains, 2, 0, 2,
6824
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16mr), 0|OPFL_Chain|OPFL_MemRefs,
6825
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
6827
OPC_CheckPredicate, 5,
6830
OPC_CheckFoldableChainNode,
6833
OPC_CheckType, MVT::i32,
6838
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
6839
OPC_EmitMergeInputChains, 2, 0, 2,
6840
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32mr), 0|OPFL_Chain|OPFL_MemRefs,
6841
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
6843
OPC_CheckPredicate, 9,
6844
OPC_CheckPredicate, 10,
6847
OPC_CheckFoldableChainNode,
6850
OPC_CheckType, MVT::i64,
6855
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
6856
OPC_EmitMergeInputChains, 2, 0, 2,
6857
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64mr), 0|OPFL_Chain|OPFL_MemRefs,
6858
1, MVT::i32, 6, 4, 5, 6, 7, 8, 1,
6861
19|128,1, ISD::VECTOR_SHUFFLE,
6862
OPC_CheckPredicate, 13,
6864
OPC_SwitchOpcode , 44, ISD::BIT_CONVERT,
6866
OPC_CheckOpcode, ISD::LOAD,
6867
OPC_CheckPredicate, 4,
6868
OPC_CheckPredicate, 9,
6871
OPC_CheckFoldableChainNode,
6873
OPC_CheckType, MVT::v2i64,
6877
OPC_CheckType, MVT::v4i32,
6882
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6883
OPC_EmitMergeInputChains, 2, 0, 1,
6884
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLPSmr), 0|OPFL_Chain|OPFL_MemRefs,
6885
0, 6, 4, 5, 6, 7, 8, 3,
6887
OPC_CheckPredicate, 4,
6888
OPC_CheckPredicate, 9,
6891
OPC_CheckFoldableChainNode,
6895
OPC_SwitchType , 25, MVT::v4f32,
6900
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6901
OPC_EmitMergeInputChains, 2, 0, 1,
6902
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLPSmr), 0|OPFL_Chain|OPFL_MemRefs,
6903
0, 6, 4, 5, 6, 7, 8, 3,
6909
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6910
OPC_EmitMergeInputChains, 2, 0, 1,
6911
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLPDmr), 0|OPFL_Chain|OPFL_MemRefs,
6912
0, 6, 4, 5, 6, 7, 8, 3,
6918
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6919
OPC_EmitMergeInputChains, 2, 0, 1,
6920
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLPDmr), 0|OPFL_Chain|OPFL_MemRefs,
6921
0, 6, 4, 5, 6, 7, 8, 3,
6924
23|128,2, X86ISD::SHLD,
6926
OPC_CheckOpcode, ISD::LOAD,
6927
OPC_CheckPredicate, 4,
6929
OPC_CheckPredicate, 5,
6932
OPC_CheckFoldableChainNode,
6938
OPC_CheckOpcode, ISD::Constant,
6939
OPC_CheckType, MVT::i8,
6941
OPC_CheckType, MVT::i32,
6946
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6947
OPC_EmitMergeInputChains, 2, 0, 1,
6948
OPC_EmitConvertToTarget, 4,
6949
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32mri8), 0|OPFL_Chain|OPFL_MemRefs,
6950
0, 7, 5, 6, 7, 8, 9, 3, 10,
6952
OPC_CheckPredicate, 6,
6955
OPC_CheckFoldableChainNode,
6961
OPC_CheckOpcode, ISD::Constant,
6962
OPC_CheckType, MVT::i8,
6964
OPC_CheckType, MVT::i16,
6969
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6970
OPC_EmitMergeInputChains, 2, 0, 1,
6971
OPC_EmitConvertToTarget, 4,
6972
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16mri8), 0|OPFL_Chain|OPFL_MemRefs,
6973
0, 7, 5, 6, 7, 8, 9, 3, 10,
6975
OPC_CheckPredicate, 9,
6976
OPC_CheckPredicate, 10,
6979
OPC_CheckFoldableChainNode,
6985
OPC_CheckOpcode, ISD::Constant,
6986
OPC_CheckType, MVT::i8,
6988
OPC_CheckType, MVT::i64,
6993
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
6994
OPC_EmitMergeInputChains, 2, 0, 1,
6995
OPC_EmitConvertToTarget, 4,
6996
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD64mri8), 0|OPFL_Chain|OPFL_MemRefs,
6997
0, 7, 5, 6, 7, 8, 9, 3, 10,
6999
OPC_CheckPredicate, 5,
7002
OPC_CheckFoldableChainNode,
7007
OPC_CheckChild2Type, MVT::i8,
7008
OPC_CheckType, MVT::i32,
7013
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7014
OPC_EmitMergeInputChains, 2, 0, 1,
7015
OPC_EmitCopyToReg, 4, X86::CL,
7016
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7017
0, 6, 5, 6, 7, 8, 9, 3,
7019
OPC_CheckPredicate, 6,
7022
OPC_CheckFoldableChainNode,
7027
OPC_CheckChild2Type, MVT::i8,
7028
OPC_CheckType, MVT::i16,
7033
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7034
OPC_EmitMergeInputChains, 2, 0, 1,
7035
OPC_EmitCopyToReg, 4, X86::CL,
7036
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7037
0, 6, 5, 6, 7, 8, 9, 3,
7039
OPC_CheckPredicate, 9,
7040
OPC_CheckPredicate, 10,
7043
OPC_CheckFoldableChainNode,
7048
OPC_CheckChild2Type, MVT::i8,
7049
OPC_CheckType, MVT::i64,
7054
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7055
OPC_EmitMergeInputChains, 2, 0, 1,
7056
OPC_EmitCopyToReg, 4, X86::CL,
7057
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD64mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7058
0, 6, 5, 6, 7, 8, 9, 3,
7060
23|128,2, X86ISD::SHRD,
7062
OPC_CheckOpcode, ISD::LOAD,
7063
OPC_CheckPredicate, 4,
7065
OPC_CheckPredicate, 5,
7068
OPC_CheckFoldableChainNode,
7074
OPC_CheckOpcode, ISD::Constant,
7075
OPC_CheckType, MVT::i8,
7077
OPC_CheckType, MVT::i32,
7082
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7083
OPC_EmitMergeInputChains, 2, 0, 1,
7084
OPC_EmitConvertToTarget, 4,
7085
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32mri8), 0|OPFL_Chain|OPFL_MemRefs,
7086
0, 7, 5, 6, 7, 8, 9, 3, 10,
7088
OPC_CheckPredicate, 6,
7091
OPC_CheckFoldableChainNode,
7097
OPC_CheckOpcode, ISD::Constant,
7098
OPC_CheckType, MVT::i8,
7100
OPC_CheckType, MVT::i16,
7105
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7106
OPC_EmitMergeInputChains, 2, 0, 1,
7107
OPC_EmitConvertToTarget, 4,
7108
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16mri8), 0|OPFL_Chain|OPFL_MemRefs,
7109
0, 7, 5, 6, 7, 8, 9, 3, 10,
7111
OPC_CheckPredicate, 9,
7112
OPC_CheckPredicate, 10,
7115
OPC_CheckFoldableChainNode,
7121
OPC_CheckOpcode, ISD::Constant,
7122
OPC_CheckType, MVT::i8,
7124
OPC_CheckType, MVT::i64,
7129
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7130
OPC_EmitMergeInputChains, 2, 0, 1,
7131
OPC_EmitConvertToTarget, 4,
7132
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD64mri8), 0|OPFL_Chain|OPFL_MemRefs,
7133
0, 7, 5, 6, 7, 8, 9, 3, 10,
7135
OPC_CheckPredicate, 5,
7138
OPC_CheckFoldableChainNode,
7143
OPC_CheckChild2Type, MVT::i8,
7144
OPC_CheckType, MVT::i32,
7149
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7150
OPC_EmitMergeInputChains, 2, 0, 1,
7151
OPC_EmitCopyToReg, 4, X86::CL,
7152
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7153
0, 6, 5, 6, 7, 8, 9, 3,
7155
OPC_CheckPredicate, 6,
7158
OPC_CheckFoldableChainNode,
7163
OPC_CheckChild2Type, MVT::i8,
7164
OPC_CheckType, MVT::i16,
7169
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7170
OPC_EmitMergeInputChains, 2, 0, 1,
7171
OPC_EmitCopyToReg, 4, X86::CL,
7172
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7173
0, 6, 5, 6, 7, 8, 9, 3,
7175
OPC_CheckPredicate, 9,
7176
OPC_CheckPredicate, 10,
7179
OPC_CheckFoldableChainNode,
7184
OPC_CheckChild2Type, MVT::i8,
7185
OPC_CheckType, MVT::i64,
7190
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7191
OPC_EmitMergeInputChains, 2, 0, 1,
7192
OPC_EmitCopyToReg, 4, X86::CL,
7193
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD64mrCL), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7194
0, 6, 5, 6, 7, 8, 9, 3,
7196
114|128,1, X86ISD::INC,
7198
OPC_CheckOpcode, ISD::LOAD,
7199
OPC_CheckPredicate, 4,
7201
OPC_CheckPredicate, 9,
7202
OPC_CheckPredicate, 10,
7205
OPC_CheckFoldableChainNode,
7207
OPC_CheckType, MVT::i8,
7209
OPC_CheckType, MVT::i8,
7214
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7215
OPC_EmitMergeInputChains, 2, 0, 1,
7216
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC8m), 0|OPFL_Chain|OPFL_MemRefs,
7217
1, MVT::i32, 5, 3, 4, 5, 6, 7,
7219
OPC_CheckPredicate, 6,
7222
OPC_CheckFoldableChainNode,
7224
OPC_CheckType, MVT::i16,
7226
OPC_CheckType, MVT::i16,
7231
OPC_CheckPatternPredicate, 2,
7232
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7233
OPC_EmitMergeInputChains, 2, 0, 1,
7234
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC16m), 0|OPFL_Chain|OPFL_MemRefs,
7235
1, MVT::i32, 5, 3, 4, 5, 6, 7,
7237
OPC_CheckPredicate, 5,
7240
OPC_CheckFoldableChainNode,
7242
OPC_CheckType, MVT::i32,
7244
OPC_CheckType, MVT::i32,
7249
OPC_CheckPatternPredicate, 2,
7250
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7251
OPC_EmitMergeInputChains, 2, 0, 1,
7252
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC32m), 0|OPFL_Chain|OPFL_MemRefs,
7253
1, MVT::i32, 5, 3, 4, 5, 6, 7,
7255
OPC_CheckPredicate, 6,
7258
OPC_CheckFoldableChainNode,
7260
OPC_CheckType, MVT::i16,
7262
OPC_CheckType, MVT::i16,
7267
OPC_CheckPatternPredicate, 3,
7268
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7269
OPC_EmitMergeInputChains, 2, 0, 1,
7270
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC64_16m), 0|OPFL_Chain|OPFL_MemRefs,
7271
1, MVT::i32, 5, 3, 4, 5, 6, 7,
7273
OPC_CheckPredicate, 5,
7276
OPC_CheckFoldableChainNode,
7278
OPC_CheckType, MVT::i32,
7280
OPC_CheckType, MVT::i32,
7285
OPC_CheckPatternPredicate, 3,
7286
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7287
OPC_EmitMergeInputChains, 2, 0, 1,
7288
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC64_32m), 0|OPFL_Chain|OPFL_MemRefs,
7289
1, MVT::i32, 5, 3, 4, 5, 6, 7,
7291
OPC_CheckPredicate, 9,
7292
OPC_CheckPredicate, 10,
7295
OPC_CheckFoldableChainNode,
7297
OPC_CheckType, MVT::i64,
7299
OPC_CheckType, MVT::i64,
7304
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7305
OPC_EmitMergeInputChains, 2, 0, 1,
7306
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC64m), 0|OPFL_Chain|OPFL_MemRefs,
7307
1, MVT::i32, 5, 3, 4, 5, 6, 7,
7309
114|128,1, X86ISD::DEC,
7311
OPC_CheckOpcode, ISD::LOAD,
7312
OPC_CheckPredicate, 4,
7314
OPC_CheckPredicate, 9,
7315
OPC_CheckPredicate, 10,
7318
OPC_CheckFoldableChainNode,
7320
OPC_CheckType, MVT::i8,
7322
OPC_CheckType, MVT::i8,
7327
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7328
OPC_EmitMergeInputChains, 2, 0, 1,
7329
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC8m), 0|OPFL_Chain|OPFL_MemRefs,
7330
1, MVT::i32, 5, 3, 4, 5, 6, 7,
7332
OPC_CheckPredicate, 6,
7335
OPC_CheckFoldableChainNode,
7337
OPC_CheckType, MVT::i16,
7339
OPC_CheckType, MVT::i16,
7344
OPC_CheckPatternPredicate, 2,
7345
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7346
OPC_EmitMergeInputChains, 2, 0, 1,
7347
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC16m), 0|OPFL_Chain|OPFL_MemRefs,
7348
1, MVT::i32, 5, 3, 4, 5, 6, 7,
7350
OPC_CheckPredicate, 5,
7353
OPC_CheckFoldableChainNode,
7355
OPC_CheckType, MVT::i32,
7357
OPC_CheckType, MVT::i32,
7362
OPC_CheckPatternPredicate, 2,
7363
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7364
OPC_EmitMergeInputChains, 2, 0, 1,
7365
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC32m), 0|OPFL_Chain|OPFL_MemRefs,
7366
1, MVT::i32, 5, 3, 4, 5, 6, 7,
7368
OPC_CheckPredicate, 6,
7371
OPC_CheckFoldableChainNode,
7373
OPC_CheckType, MVT::i16,
7375
OPC_CheckType, MVT::i16,
7380
OPC_CheckPatternPredicate, 3,
7381
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7382
OPC_EmitMergeInputChains, 2, 0, 1,
7383
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC64_16m), 0|OPFL_Chain|OPFL_MemRefs,
7384
1, MVT::i32, 5, 3, 4, 5, 6, 7,
7386
OPC_CheckPredicate, 5,
7389
OPC_CheckFoldableChainNode,
7391
OPC_CheckType, MVT::i32,
7393
OPC_CheckType, MVT::i32,
7398
OPC_CheckPatternPredicate, 3,
7399
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7400
OPC_EmitMergeInputChains, 2, 0, 1,
7401
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC64_32m), 0|OPFL_Chain|OPFL_MemRefs,
7402
1, MVT::i32, 5, 3, 4, 5, 6, 7,
7404
OPC_CheckPredicate, 9,
7405
OPC_CheckPredicate, 10,
7408
OPC_CheckFoldableChainNode,
7410
OPC_CheckType, MVT::i64,
7412
OPC_CheckType, MVT::i64,
7417
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7418
OPC_EmitMergeInputChains, 2, 0, 1,
7419
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC64m), 0|OPFL_Chain|OPFL_MemRefs,
7420
1, MVT::i32, 5, 3, 4, 5, 6, 7,
7422
41|128,3, ISD::EXTRACT_VECTOR_ELT,
7423
OPC_Scope, 42|128,1,
7425
OPC_SwitchOpcode , 89, ISD::VECTOR_SHUFFLE,
7426
OPC_CheckPredicate, 14,
7429
OPC_CheckOpcode, ISD::BIT_CONVERT,
7431
OPC_CheckChild0Type, MVT::v4f32,
7434
OPC_CheckOpcode, ISD::UNDEF,
7436
OPC_CheckType, MVT::v2f64,
7439
OPC_CheckInteger, 0,
7441
OPC_CheckType, MVT::f64,
7444
OPC_CheckPatternPredicate, 0,
7445
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7446
OPC_EmitMergeInputChains, 1, 0,
7447
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVHPSmr), 0|OPFL_Chain|OPFL_MemRefs,
7448
0, 6, 3, 4, 5, 6, 7, 1,
7452
OPC_CheckOpcode, ISD::UNDEF,
7454
OPC_CheckType, MVT::v2f64,
7457
OPC_CheckInteger, 0,
7459
OPC_CheckType, MVT::f64,
7462
OPC_CheckPatternPredicate, 1,
7463
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7464
OPC_EmitMergeInputChains, 1, 0,
7465
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVHPDmr), 0|OPFL_Chain|OPFL_MemRefs,
7466
0, 6, 3, 4, 5, 6, 7, 1,
7468
73, ISD::BIT_CONVERT,
7470
OPC_CheckChild0Type, MVT::v4f32,
7471
OPC_SwitchType , 30, MVT::v2f64,
7474
OPC_CheckInteger, 0,
7476
OPC_CheckType, MVT::f64,
7479
OPC_CheckPatternPredicate, 0,
7480
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7481
OPC_EmitMergeInputChains, 1, 0,
7482
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLPSmr), 0|OPFL_Chain|OPFL_MemRefs,
7483
0, 6, 3, 4, 5, 6, 7, 1,
7488
OPC_CheckOpcode, ISD::Constant,
7490
OPC_CheckType, MVT::i32,
7493
OPC_CheckPatternPredicate, 4,
7494
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
7495
OPC_EmitMergeInputChains, 1, 0,
7496
OPC_EmitConvertToTarget, 2,
7497
OPC_MorphNodeTo, TARGET_OPCODE(X86::EXTRACTPSmr), 0|OPFL_Chain|OPFL_MemRefs,
7498
0, 7, 4, 5, 6, 7, 8, 1, 9,
7504
OPC_CheckChild0Type, MVT::v2f64,
7506
OPC_CheckInteger, 0,
7508
OPC_CheckType, MVT::f64,
7512
OPC_CheckPatternPredicate, 1,
7513
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7514
OPC_EmitMergeInputChains, 1, 0,
7515
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLPDmr), 0|OPFL_Chain|OPFL_MemRefs,
7516
0, 6, 3, 4, 5, 6, 7, 1,
7518
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7519
OPC_EmitMergeInputChains, 1, 0,
7520
OPC_EmitInteger, MVT::i32, 2,
7521
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
7522
1, MVT::f64, 2, 1, 8,
7523
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSDmr), 0|OPFL_Chain|OPFL_MemRefs,
7524
0, 6, 3, 4, 5, 6, 7, 9,
7527
OPC_CheckChild0Type, MVT::v2i64,
7530
OPC_CheckInteger, 0,
7532
OPC_CheckType, MVT::i64,
7535
OPC_CheckPatternPredicate, 1,
7536
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7537
OPC_EmitMergeInputChains, 1, 0,
7538
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVPQI2QImr), 0|OPFL_Chain|OPFL_MemRefs,
7539
0, 6, 3, 4, 5, 6, 7, 1,
7543
OPC_CheckOpcode, ISD::Constant,
7545
OPC_CheckType, MVT::i64,
7548
OPC_CheckPatternPredicate, 4,
7549
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
7550
OPC_EmitMergeInputChains, 1, 0,
7551
OPC_EmitConvertToTarget, 2,
7552
OPC_MorphNodeTo, TARGET_OPCODE(X86::PEXTRQmr), 0|OPFL_Chain|OPFL_MemRefs,
7553
0, 7, 4, 5, 6, 7, 8, 1, 9,
7556
OPC_CheckChild0Type, MVT::v4i32,
7559
OPC_CheckInteger, 0,
7561
OPC_CheckType, MVT::i32,
7564
OPC_CheckPatternPredicate, 1,
7565
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7566
OPC_EmitMergeInputChains, 1, 0,
7567
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVPDI2DImr), 0|OPFL_Chain|OPFL_MemRefs,
7568
0, 6, 3, 4, 5, 6, 7, 1,
7572
OPC_CheckOpcode, ISD::Constant,
7574
OPC_CheckType, MVT::i32,
7577
OPC_CheckPatternPredicate, 4,
7578
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
7579
OPC_EmitMergeInputChains, 1, 0,
7580
OPC_EmitConvertToTarget, 2,
7581
OPC_MorphNodeTo, TARGET_OPCODE(X86::PEXTRDmr), 0|OPFL_Chain|OPFL_MemRefs,
7582
0, 7, 4, 5, 6, 7, 8, 1, 9,
7585
OPC_CheckChild0Type, MVT::v4f32,
7587
OPC_CheckInteger, 0,
7589
OPC_CheckType, MVT::f32,
7592
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7593
OPC_EmitMergeInputChains, 1, 0,
7594
OPC_EmitInteger, MVT::i32, 1,
7595
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
7596
1, MVT::f32, 2, 1, 8,
7597
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSSmr), 0|OPFL_Chain|OPFL_MemRefs,
7598
0, 6, 3, 4, 5, 6, 7, 9,
7601
41|128,1, ISD::TRUNCATE,
7602
OPC_CheckPredicate, 15,
7604
OPC_CheckOpcode, ISD::SRL,
7605
OPC_CheckPredicate, 16,
7608
OPC_CheckInteger, 8,
7609
OPC_CheckType, MVT::i8,
7611
OPC_SwitchType , 47, MVT::i64,
7613
OPC_CheckType, MVT::i8,
7616
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7617
OPC_EmitMergeInputChains, 1, 0,
7618
OPC_EmitInteger, MVT::i32, X86::GR64_ABCDRegClassID,
7619
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
7620
1, MVT::i64, 2, 1, 8,
7621
OPC_EmitInteger, MVT::i32, 2,
7622
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
7623
1, MVT::i8, 2, 9, 10,
7624
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV8mr_NOREX), 0|OPFL_Chain|OPFL_MemRefs,
7625
0, 6, 3, 4, 5, 6, 7, 11,
7628
OPC_CheckType, MVT::i8,
7631
OPC_CheckPatternPredicate, 3,
7632
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7633
OPC_EmitMergeInputChains, 1, 0,
7634
OPC_EmitInteger, MVT::i32, X86::GR32_ABCDRegClassID,
7635
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
7636
1, MVT::i32, 2, 1, 8,
7637
OPC_EmitInteger, MVT::i32, 2,
7638
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
7639
1, MVT::i8, 2, 9, 10,
7640
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV8mr_NOREX), 0|OPFL_Chain|OPFL_MemRefs,
7641
0, 6, 3, 4, 5, 6, 7, 11,
7644
OPC_CheckType, MVT::i8,
7647
OPC_CheckPatternPredicate, 3,
7648
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7649
OPC_EmitMergeInputChains, 1, 0,
7650
OPC_EmitInteger, MVT::i32, X86::GR16_ABCDRegClassID,
7651
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
7652
1, MVT::i16, 2, 1, 8,
7653
OPC_EmitInteger, MVT::i32, 2,
7654
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
7655
1, MVT::i8, 2, 9, 10,
7656
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV8mr_NOREX), 0|OPFL_Chain|OPFL_MemRefs,
7657
0, 6, 3, 4, 5, 6, 7, 11,
7659
50, ISD::BIT_CONVERT,
7661
OPC_CheckOpcode, ISD::EXTRACT_VECTOR_ELT,
7663
OPC_CheckOpcode, ISD::BIT_CONVERT,
7665
OPC_CheckChild0Type, MVT::v4f32,
7666
OPC_CheckType, MVT::v4i32,
7670
OPC_CheckOpcode, ISD::Constant,
7672
OPC_CheckType, MVT::i32,
7674
OPC_CheckType, MVT::f32,
7677
OPC_CheckPatternPredicate, 4,
7678
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
7679
OPC_EmitMergeInputChains, 1, 0,
7680
OPC_EmitConvertToTarget, 2,
7681
OPC_MorphNodeTo, TARGET_OPCODE(X86::EXTRACTPSmr), 0|OPFL_Chain|OPFL_MemRefs,
7682
0, 7, 4, 5, 6, 7, 8, 1, 9,
7683
52|128,3, X86ISD::SETCC,
7686
OPC_CheckInteger, 4,
7691
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7692
OPC_EmitMergeInputChains, 1, 0,
7693
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7694
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETEm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7695
0, 5, 3, 4, 5, 6, 7,
7697
OPC_CheckInteger, 9,
7702
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7703
OPC_EmitMergeInputChains, 1, 0,
7704
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7705
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETNEm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7706
0, 5, 3, 4, 5, 6, 7,
7708
OPC_CheckInteger, 7,
7713
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7714
OPC_EmitMergeInputChains, 1, 0,
7715
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7716
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETLm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7717
0, 5, 3, 4, 5, 6, 7,
7719
OPC_CheckInteger, 6,
7724
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7725
OPC_EmitMergeInputChains, 1, 0,
7726
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7727
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETGEm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7728
0, 5, 3, 4, 5, 6, 7,
7730
OPC_CheckInteger, 8,
7735
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7736
OPC_EmitMergeInputChains, 1, 0,
7737
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7738
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETLEm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7739
0, 5, 3, 4, 5, 6, 7,
7741
OPC_CheckInteger, 5,
7746
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7747
OPC_EmitMergeInputChains, 1, 0,
7748
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7749
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETGm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7750
0, 5, 3, 4, 5, 6, 7,
7752
OPC_CheckInteger, 2,
7757
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7758
OPC_EmitMergeInputChains, 1, 0,
7759
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7760
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETBm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7761
0, 5, 3, 4, 5, 6, 7,
7763
OPC_CheckInteger, 1,
7768
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7769
OPC_EmitMergeInputChains, 1, 0,
7770
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7771
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETAEm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7772
0, 5, 3, 4, 5, 6, 7,
7774
OPC_CheckInteger, 3,
7779
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7780
OPC_EmitMergeInputChains, 1, 0,
7781
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7782
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETBEm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7783
0, 5, 3, 4, 5, 6, 7,
7785
OPC_CheckInteger, 0,
7790
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7791
OPC_EmitMergeInputChains, 1, 0,
7792
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7793
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETAm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7794
0, 5, 3, 4, 5, 6, 7,
7796
OPC_CheckInteger, 15,
7801
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7802
OPC_EmitMergeInputChains, 1, 0,
7803
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7804
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETSm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7805
0, 5, 3, 4, 5, 6, 7,
7807
OPC_CheckInteger, 12,
7812
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7813
OPC_EmitMergeInputChains, 1, 0,
7814
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7815
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETNSm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7816
0, 5, 3, 4, 5, 6, 7,
7818
OPC_CheckInteger, 14,
7823
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7824
OPC_EmitMergeInputChains, 1, 0,
7825
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7826
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETPm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7827
0, 5, 3, 4, 5, 6, 7,
7829
OPC_CheckInteger, 11,
7834
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7835
OPC_EmitMergeInputChains, 1, 0,
7836
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7837
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETNPm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7838
0, 5, 3, 4, 5, 6, 7,
7840
OPC_CheckInteger, 13,
7845
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7846
OPC_EmitMergeInputChains, 1, 0,
7847
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7848
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETOm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7849
0, 5, 3, 4, 5, 6, 7,
7851
OPC_CheckInteger, 10,
7856
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7857
OPC_EmitMergeInputChains, 1, 0,
7858
OPC_EmitCopyToReg, 1, X86::EFLAGS,
7859
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETNOm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
7860
0, 5, 3, 4, 5, 6, 7,
7862
84|128,1, X86ISD::Wrapper,
7865
OPC_SwitchOpcode , 49, ISD::TargetGlobalAddress,
7867
OPC_SwitchType , 20, MVT::i32,
7870
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7871
OPC_EmitMergeInputChains, 1, 0,
7872
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32mi), 0|OPFL_Chain|OPFL_MemRefs,
7873
0, 6, 3, 4, 5, 6, 7, 1,
7877
OPC_CheckPatternPredicate, 5,
7878
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7879
OPC_EmitMergeInputChains, 1, 0,
7880
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64mi32), 0|OPFL_Chain|OPFL_MemRefs,
7881
0, 6, 3, 4, 5, 6, 7, 1,
7883
49, ISD::TargetExternalSymbol,
7885
OPC_SwitchType , 20, MVT::i32,
7888
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7889
OPC_EmitMergeInputChains, 1, 0,
7890
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32mi), 0|OPFL_Chain|OPFL_MemRefs,
7891
0, 6, 3, 4, 5, 6, 7, 1,
7895
OPC_CheckPatternPredicate, 5,
7896
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7897
OPC_EmitMergeInputChains, 1, 0,
7898
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64mi32), 0|OPFL_Chain|OPFL_MemRefs,
7899
0, 6, 3, 4, 5, 6, 7, 1,
7901
49, ISD::TargetBlockAddress,
7903
OPC_SwitchType , 20, MVT::i32,
7906
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7907
OPC_EmitMergeInputChains, 1, 0,
7908
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32mi), 0|OPFL_Chain|OPFL_MemRefs,
7909
0, 6, 3, 4, 5, 6, 7, 1,
7913
OPC_CheckPatternPredicate, 5,
7914
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7915
OPC_EmitMergeInputChains, 1, 0,
7916
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64mi32), 0|OPFL_Chain|OPFL_MemRefs,
7917
0, 6, 3, 4, 5, 6, 7, 1,
7919
25, ISD::TargetConstantPool,
7921
OPC_CheckType, MVT::i64,
7924
OPC_CheckPatternPredicate, 5,
7925
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7926
OPC_EmitMergeInputChains, 1, 0,
7927
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64mi32), 0|OPFL_Chain|OPFL_MemRefs,
7928
0, 6, 3, 4, 5, 6, 7, 1,
7929
25, ISD::TargetJumpTable,
7931
OPC_CheckType, MVT::i64,
7934
OPC_CheckPatternPredicate, 5,
7935
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7936
OPC_EmitMergeInputChains, 1, 0,
7937
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64mi32), 0|OPFL_Chain|OPFL_MemRefs,
7938
0, 6, 3, 4, 5, 6, 7, 1,
7944
OPC_CheckOpcode, ISD::Constant,
7946
OPC_CheckPredicate, 12,
7947
OPC_CheckType, MVT::i64,
7950
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7951
OPC_EmitMergeInputChains, 1, 0,
7952
OPC_EmitConvertToTarget, 1,
7953
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64mi32), 0|OPFL_Chain|OPFL_MemRefs,
7954
0, 6, 3, 4, 5, 6, 7, 8,
7956
OPC_CheckType, MVT::i8,
7959
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7960
OPC_EmitMergeInputChains, 1, 0,
7961
OPC_EmitConvertToTarget, 1,
7962
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV8mi), 0|OPFL_Chain|OPFL_MemRefs,
7963
0, 6, 3, 4, 5, 6, 7, 8,
7965
OPC_CheckType, MVT::i16,
7968
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7969
OPC_EmitMergeInputChains, 1, 0,
7970
OPC_EmitConvertToTarget, 1,
7971
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV16mi), 0|OPFL_Chain|OPFL_MemRefs,
7972
0, 6, 3, 4, 5, 6, 7, 8,
7974
OPC_CheckType, MVT::i32,
7977
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7978
OPC_EmitMergeInputChains, 1, 0,
7979
OPC_EmitConvertToTarget, 1,
7980
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32mi), 0|OPFL_Chain|OPFL_MemRefs,
7981
0, 6, 3, 4, 5, 6, 7, 8,
7985
OPC_CheckPredicate, 17,
7986
OPC_CheckPredicate, 18,
7991
OPC_CheckOpcode, ISD::Constant,
7992
OPC_CheckType, MVT::i32,
7995
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
7996
OPC_EmitMergeInputChains, 1, 0,
7997
OPC_EmitConvertToTarget, 1,
7998
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV16mi), 0|OPFL_Chain|OPFL_MemRefs,
7999
0, 6, 3, 4, 5, 6, 7, 8,
8001
OPC_CheckPredicate, 3,
8005
OPC_CheckOpcode, ISD::BIT_CONVERT,
8007
OPC_CheckChild0Type, MVT::f64,
8008
OPC_CheckType, MVT::i64,
8011
OPC_CheckPatternPredicate, 1,
8012
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8013
OPC_EmitMergeInputChains, 1, 0,
8014
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSDto64mr), 0|OPFL_Chain|OPFL_MemRefs,
8015
0, 6, 3, 4, 5, 6, 7, 1,
8017
OPC_CheckPredicate, 17,
8018
OPC_CheckPredicate, 18,
8023
OPC_CheckOpcode, ISD::Constant,
8024
OPC_CheckType, MVT::i64,
8027
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8028
OPC_EmitMergeInputChains, 1, 0,
8029
OPC_EmitConvertToTarget, 1,
8030
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV16mi), 0|OPFL_Chain|OPFL_MemRefs,
8031
0, 6, 3, 4, 5, 6, 7, 8,
8033
OPC_CheckPredicate, 3,
8038
OPC_CheckOpcode, ISD::BIT_CONVERT,
8040
OPC_CheckChild0Type, MVT::f32,
8041
OPC_CheckType, MVT::i32,
8044
OPC_CheckPatternPredicate, 1,
8045
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8046
OPC_EmitMergeInputChains, 1, 0,
8047
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSS2DImr), 0|OPFL_Chain|OPFL_MemRefs,
8048
0, 6, 3, 4, 5, 6, 7, 1,
8051
OPC_CheckChild1Type, MVT::f32,
8053
OPC_CheckPatternPredicate, 6,
8054
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8055
OPC_EmitMergeInputChains, 1, 0,
8056
OPC_MorphNodeTo, TARGET_OPCODE(X86::ST_Fp32m), 0|OPFL_Chain|OPFL_MemRefs,
8057
0, 6, 3, 4, 5, 6, 7, 1,
8060
OPC_CheckPredicate, 17,
8061
OPC_CheckPredicate, 19,
8065
OPC_CheckChild1Type, MVT::f64,
8067
OPC_CheckPatternPredicate, 7,
8068
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8069
OPC_EmitMergeInputChains, 1, 0,
8070
OPC_MorphNodeTo, TARGET_OPCODE(X86::ST_Fp64m32), 0|OPFL_Chain|OPFL_MemRefs,
8071
0, 6, 3, 4, 5, 6, 7, 1,
8073
OPC_CheckPredicate, 3,
8077
OPC_CheckChild1Type, MVT::f64,
8079
OPC_CheckPatternPredicate, 7,
8080
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8081
OPC_EmitMergeInputChains, 1, 0,
8082
OPC_MorphNodeTo, TARGET_OPCODE(X86::ST_Fp64m), 0|OPFL_Chain|OPFL_MemRefs,
8083
0, 6, 3, 4, 5, 6, 7, 1,
8085
OPC_CheckPredicate, 17,
8087
OPC_CheckPredicate, 19,
8091
OPC_CheckChild1Type, MVT::f80,
8093
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8094
OPC_EmitMergeInputChains, 1, 0,
8095
OPC_MorphNodeTo, TARGET_OPCODE(X86::ST_Fp80m32), 0|OPFL_Chain|OPFL_MemRefs,
8096
0, 6, 3, 4, 5, 6, 7, 1,
8098
OPC_CheckPredicate, 20,
8102
OPC_CheckChild1Type, MVT::f80,
8104
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8105
OPC_EmitMergeInputChains, 1, 0,
8106
OPC_MorphNodeTo, TARGET_OPCODE(X86::ST_Fp80m64), 0|OPFL_Chain|OPFL_MemRefs,
8107
0, 6, 3, 4, 5, 6, 7, 1,
8110
OPC_CheckPredicate, 3,
8111
OPC_Scope, 11|128,1,
8116
OPC_CheckChild1Type, MVT::f80,
8118
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8119
OPC_EmitMergeInputChains, 1, 0,
8120
OPC_MorphNodeTo, TARGET_OPCODE(X86::ST_FpP80m), 0|OPFL_Chain|OPFL_MemRefs,
8121
0, 6, 3, 4, 5, 6, 7, 1,
8123
OPC_CheckChild1Type, MVT::i8,
8125
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8126
OPC_EmitMergeInputChains, 1, 0,
8127
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV8mr), 0|OPFL_Chain|OPFL_MemRefs,
8128
0, 6, 3, 4, 5, 6, 7, 1,
8130
OPC_CheckChild1Type, MVT::i16,
8132
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8133
OPC_EmitMergeInputChains, 1, 0,
8134
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV16mr), 0|OPFL_Chain|OPFL_MemRefs,
8135
0, 6, 3, 4, 5, 6, 7, 1,
8137
OPC_CheckChild1Type, MVT::i32,
8139
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8140
OPC_EmitMergeInputChains, 1, 0,
8141
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32mr), 0|OPFL_Chain|OPFL_MemRefs,
8142
0, 6, 3, 4, 5, 6, 7, 1,
8144
OPC_CheckChild1Type, MVT::i64,
8146
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8147
OPC_EmitMergeInputChains, 1, 0,
8148
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64mr), 0|OPFL_Chain|OPFL_MemRefs,
8149
0, 6, 3, 4, 5, 6, 7, 1,
8151
OPC_CheckChild1Type, MVT::f32,
8153
OPC_CheckPatternPredicate, 0,
8154
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8155
OPC_EmitMergeInputChains, 1, 0,
8156
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSSmr), 0|OPFL_Chain|OPFL_MemRefs,
8157
0, 6, 3, 4, 5, 6, 7, 1,
8160
OPC_CheckPredicate, 21,
8164
OPC_CheckChild1Type, MVT::v4f32,
8166
OPC_CheckPatternPredicate, 0,
8167
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8168
OPC_EmitMergeInputChains, 1, 0,
8169
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVAPSmr), 0|OPFL_Chain|OPFL_MemRefs,
8170
0, 6, 3, 4, 5, 6, 7, 1,
8176
OPC_CheckChild1Type, MVT::v4f32,
8178
OPC_CheckPatternPredicate, 0,
8179
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8180
OPC_EmitMergeInputChains, 1, 0,
8181
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPSmr), 0|OPFL_Chain|OPFL_MemRefs,
8182
0, 6, 3, 4, 5, 6, 7, 1,
8184
OPC_CheckChild1Type, MVT::f64,
8186
OPC_CheckPatternPredicate, 1,
8187
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8188
OPC_EmitMergeInputChains, 1, 0,
8189
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSDmr), 0|OPFL_Chain|OPFL_MemRefs,
8190
0, 6, 3, 4, 5, 6, 7, 1,
8193
OPC_CheckPredicate, 21,
8197
OPC_CheckChild1Type, MVT::v2f64,
8199
OPC_CheckPatternPredicate, 1,
8200
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8201
OPC_EmitMergeInputChains, 1, 0,
8202
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVAPDmr), 0|OPFL_Chain|OPFL_MemRefs,
8203
0, 6, 3, 4, 5, 6, 7, 1,
8208
OPC_CheckChild1Type, MVT::v2f64,
8210
OPC_CheckPatternPredicate, 1,
8211
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8212
OPC_EmitMergeInputChains, 1, 0,
8213
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPDmr), 0|OPFL_Chain|OPFL_MemRefs,
8214
0, 6, 3, 4, 5, 6, 7, 1,
8216
OPC_CheckPredicate, 21,
8221
OPC_CheckChild1Type, MVT::v2i64,
8223
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8224
OPC_EmitMergeInputChains, 1, 0,
8225
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVAPSmr), 0|OPFL_Chain|OPFL_MemRefs,
8226
0, 6, 3, 4, 5, 6, 7, 1,
8228
OPC_CheckChild1Type, MVT::v4i32,
8230
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8231
OPC_EmitMergeInputChains, 1, 0,
8232
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVAPSmr), 0|OPFL_Chain|OPFL_MemRefs,
8233
0, 6, 3, 4, 5, 6, 7, 1,
8235
OPC_CheckChild1Type, MVT::v8i16,
8237
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8238
OPC_EmitMergeInputChains, 1, 0,
8239
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVAPSmr), 0|OPFL_Chain|OPFL_MemRefs,
8240
0, 6, 3, 4, 5, 6, 7, 1,
8242
OPC_CheckChild1Type, MVT::v16i8,
8244
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8245
OPC_EmitMergeInputChains, 1, 0,
8246
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVAPSmr), 0|OPFL_Chain|OPFL_MemRefs,
8247
0, 6, 3, 4, 5, 6, 7, 1,
8254
OPC_CheckChild1Type, MVT::v2i64,
8256
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8257
OPC_EmitMergeInputChains, 1, 0,
8258
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPSmr), 0|OPFL_Chain|OPFL_MemRefs,
8259
0, 6, 3, 4, 5, 6, 7, 1,
8261
OPC_CheckChild1Type, MVT::v4i32,
8263
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8264
OPC_EmitMergeInputChains, 1, 0,
8265
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPSmr), 0|OPFL_Chain|OPFL_MemRefs,
8266
0, 6, 3, 4, 5, 6, 7, 1,
8268
OPC_CheckChild1Type, MVT::v8i16,
8270
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8271
OPC_EmitMergeInputChains, 1, 0,
8272
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPSmr), 0|OPFL_Chain|OPFL_MemRefs,
8273
0, 6, 3, 4, 5, 6, 7, 1,
8275
OPC_CheckChild1Type, MVT::v16i8,
8277
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8278
OPC_EmitMergeInputChains, 1, 0,
8279
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPSmr), 0|OPFL_Chain|OPFL_MemRefs,
8280
0, 6, 3, 4, 5, 6, 7, 1,
8282
OPC_CheckChild1Type, MVT::v1i64,
8285
OPC_CheckPatternPredicate, 8,
8286
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8287
OPC_EmitMergeInputChains, 1, 0,
8288
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ64mr), 0|OPFL_Chain|OPFL_MemRefs,
8289
0, 6, 3, 4, 5, 6, 7, 1,
8291
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8292
OPC_EmitMergeInputChains, 1, 0,
8293
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ64mr), 0|OPFL_Chain|OPFL_MemRefs,
8294
0, 6, 3, 4, 5, 6, 7, 1,
8297
OPC_CheckChild1Type, MVT::v8i8,
8299
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8300
OPC_EmitMergeInputChains, 1, 0,
8301
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ64mr), 0|OPFL_Chain|OPFL_MemRefs,
8302
0, 6, 3, 4, 5, 6, 7, 1,
8304
OPC_CheckChild1Type, MVT::v4i16,
8306
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8307
OPC_EmitMergeInputChains, 1, 0,
8308
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ64mr), 0|OPFL_Chain|OPFL_MemRefs,
8309
0, 6, 3, 4, 5, 6, 7, 1,
8311
OPC_CheckChild1Type, MVT::v2i32,
8313
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8314
OPC_EmitMergeInputChains, 1, 0,
8315
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ64mr), 0|OPFL_Chain|OPFL_MemRefs,
8316
0, 6, 3, 4, 5, 6, 7, 1,
8318
OPC_CheckChild1Type, MVT::v2f32,
8320
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8321
OPC_EmitMergeInputChains, 1, 0,
8322
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ64mr), 0|OPFL_Chain|OPFL_MemRefs,
8323
0, 6, 3, 4, 5, 6, 7, 1,
8327
OPC_CheckPredicate, 17,
8328
OPC_CheckPredicate, 18,
8333
OPC_CheckChild1Type, MVT::i32,
8335
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8336
OPC_EmitMergeInputChains, 1, 0,
8337
OPC_EmitInteger, MVT::i32, 3,
8338
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
8339
1, MVT::i16, 2, 1, 8,
8340
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV16mr), 0|OPFL_Chain|OPFL_MemRefs,
8341
0, 6, 3, 4, 5, 6, 7, 9,
8343
OPC_CheckChild1Type, MVT::i64,
8345
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8346
OPC_EmitMergeInputChains, 1, 0,
8347
OPC_EmitInteger, MVT::i32, 3,
8348
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
8349
1, MVT::i16, 2, 1, 8,
8350
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV16mr), 0|OPFL_Chain|OPFL_MemRefs,
8351
0, 6, 3, 4, 5, 6, 7, 9,
8355
66|128,26, ISD::VECTOR_SHUFFLE,
8357
OPC_CheckPredicate, 13,
8360
OPC_CheckOpcode, ISD::BIT_CONVERT,
8362
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
8364
OPC_CheckOpcode, ISD::LOAD,
8365
OPC_CheckPredicate, 4,
8366
OPC_CheckPredicate, 9,
8367
OPC_CheckPredicate, 10,
8370
OPC_CheckFoldableChainNode,
8372
OPC_CheckType, MVT::f64,
8374
OPC_CheckType, MVT::v2f64,
8377
OPC_CheckType, MVT::v4f32,
8378
OPC_CheckPatternPredicate, 0,
8379
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8380
OPC_EmitMergeInputChains, 1, 1,
8381
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLPSrm), 0|OPFL_Chain|OPFL_MemRefs,
8382
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
8384
OPC_CheckPredicate, 22,
8387
OPC_CheckOpcode, ISD::BIT_CONVERT,
8389
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
8391
OPC_CheckOpcode, ISD::LOAD,
8392
OPC_CheckPredicate, 4,
8393
OPC_CheckPredicate, 9,
8394
OPC_CheckPredicate, 10,
8397
OPC_CheckFoldableChainNode,
8399
OPC_CheckType, MVT::f64,
8401
OPC_CheckType, MVT::v2f64,
8404
OPC_CheckType, MVT::v4f32,
8405
OPC_CheckPatternPredicate, 0,
8406
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8407
OPC_EmitMergeInputChains, 1, 1,
8408
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVHPSrm), 0|OPFL_Chain|OPFL_MemRefs,
8409
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
8411
OPC_CheckPredicate, 23,
8413
OPC_CheckOpcode, ISD::BIT_CONVERT,
8415
OPC_CheckOpcode, ISD::LOAD,
8416
OPC_CheckPredicate, 4,
8417
OPC_CheckPredicate, 9,
8418
OPC_CheckPredicate, 24,
8421
OPC_CheckFoldableChainNode,
8423
OPC_CheckType, MVT::v2i64,
8427
OPC_CheckOpcode, ISD::UNDEF,
8429
OPC_CheckType, MVT::v4i32,
8430
OPC_CheckPatternPredicate, 9,
8431
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
8432
OPC_EmitMergeInputChains, 1, 0,
8433
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSHDUPrm), 0|OPFL_Chain|OPFL_MemRefs,
8434
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
8436
OPC_CheckPredicate, 25,
8438
OPC_CheckOpcode, ISD::BIT_CONVERT,
8440
OPC_CheckOpcode, ISD::LOAD,
8441
OPC_CheckPredicate, 4,
8442
OPC_CheckPredicate, 9,
8443
OPC_CheckPredicate, 24,
8446
OPC_CheckFoldableChainNode,
8448
OPC_CheckType, MVT::v2i64,
8452
OPC_CheckOpcode, ISD::UNDEF,
8454
OPC_CheckType, MVT::v4i32,
8455
OPC_CheckPatternPredicate, 9,
8456
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
8457
OPC_EmitMergeInputChains, 1, 0,
8458
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSLDUPrm), 0|OPFL_Chain|OPFL_MemRefs,
8459
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
8461
OPC_CheckPredicate, 13,
8464
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
8466
OPC_CheckOpcode, ISD::LOAD,
8467
OPC_CheckPredicate, 4,
8468
OPC_CheckPredicate, 9,
8469
OPC_CheckPredicate, 10,
8472
OPC_CheckFoldableChainNode,
8474
OPC_CheckType, MVT::f64,
8477
OPC_CheckType, MVT::v2f64,
8478
OPC_CheckPatternPredicate, 1,
8479
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8480
OPC_EmitMergeInputChains, 1, 1,
8481
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLPDrm), 0|OPFL_Chain|OPFL_MemRefs,
8482
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
8484
OPC_CheckPredicate, 22,
8487
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
8489
OPC_CheckOpcode, ISD::LOAD,
8490
OPC_CheckPredicate, 4,
8491
OPC_CheckPredicate, 9,
8492
OPC_CheckPredicate, 10,
8495
OPC_CheckFoldableChainNode,
8497
OPC_CheckType, MVT::f64,
8500
OPC_CheckType, MVT::v2f64,
8501
OPC_CheckPatternPredicate, 1,
8502
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8503
OPC_EmitMergeInputChains, 1, 1,
8504
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVHPDrm), 0|OPFL_Chain|OPFL_MemRefs,
8505
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
8507
OPC_CheckPredicate, 13,
8510
OPC_CheckOpcode, ISD::LOAD,
8511
OPC_CheckPredicate, 4,
8512
OPC_CheckPredicate, 9,
8515
OPC_CheckFoldableChainNode,
8518
OPC_SwitchType , 19, MVT::v4f32,
8519
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8520
OPC_EmitMergeInputChains, 1, 1,
8521
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLPSrm), 0|OPFL_Chain|OPFL_MemRefs,
8522
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
8524
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8525
OPC_EmitMergeInputChains, 1, 1,
8526
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLPDrm), 0|OPFL_Chain|OPFL_MemRefs,
8527
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
8529
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8530
OPC_EmitMergeInputChains, 1, 1,
8531
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLPSrm), 0|OPFL_Chain|OPFL_MemRefs,
8532
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
8534
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8535
OPC_EmitMergeInputChains, 1, 1,
8536
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLPDrm), 0|OPFL_Chain|OPFL_MemRefs,
8537
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
8541
OPC_CheckPredicate, 26,
8543
OPC_CheckOpcode, ISD::BIT_CONVERT,
8545
OPC_CheckOpcode, ISD::LOAD,
8546
OPC_CheckPredicate, 4,
8547
OPC_CheckPredicate, 9,
8548
OPC_CheckPredicate, 24,
8551
OPC_CheckFoldableChainNode,
8553
OPC_CheckType, MVT::v2i64,
8557
OPC_CheckOpcode, ISD::UNDEF,
8559
OPC_CheckType, MVT::v4i32,
8560
OPC_CheckPatternPredicate, 1,
8561
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8562
OPC_EmitMergeInputChains, 1, 1,
8563
OPC_EmitNodeXForm, 0, 0,
8564
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFDmi), 0|OPFL_Chain|OPFL_MemRefs,
8565
1, MVT::v4i32, 6, 3, 4, 5, 6, 7, 8,
8567
OPC_CheckPredicate, 27,
8569
OPC_CheckOpcode, ISD::BIT_CONVERT,
8571
OPC_CheckOpcode, ISD::LOAD,
8572
OPC_CheckPredicate, 4,
8573
OPC_CheckPredicate, 9,
8574
OPC_CheckPredicate, 24,
8577
OPC_CheckFoldableChainNode,
8579
OPC_SwitchType , 29, MVT::v2f64,
8583
OPC_CheckOpcode, ISD::UNDEF,
8585
OPC_CheckType, MVT::v4f32,
8586
OPC_CheckPatternPredicate, 9,
8587
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
8588
OPC_EmitMergeInputChains, 1, 0,
8589
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDDUPrm), 0|OPFL_Chain|OPFL_MemRefs,
8590
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
8595
OPC_CheckOpcode, ISD::UNDEF,
8597
OPC_CheckType, MVT::v4i32,
8598
OPC_CheckPatternPredicate, 9,
8599
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
8600
OPC_EmitMergeInputChains, 1, 0,
8601
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDDUPrm), 0|OPFL_Chain|OPFL_MemRefs,
8602
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
8605
OPC_CheckPredicate, 14,
8608
OPC_CheckOpcode, ISD::LOAD,
8609
OPC_CheckPredicate, 4,
8610
OPC_CheckPredicate, 9,
8611
OPC_CheckPredicate, 24,
8614
OPC_CheckFoldableChainNode,
8617
OPC_CheckType, MVT::v4f32,
8618
OPC_CheckPatternPredicate, 0,
8619
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8620
OPC_EmitMergeInputChains, 1, 1,
8621
OPC_MorphNodeTo, TARGET_OPCODE(X86::UNPCKHPSrm), 0|OPFL_Chain|OPFL_MemRefs,
8622
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
8624
OPC_CheckPredicate, 28,
8627
OPC_CheckOpcode, ISD::LOAD,
8628
OPC_CheckPredicate, 4,
8629
OPC_CheckPredicate, 9,
8630
OPC_CheckPredicate, 24,
8633
OPC_CheckFoldableChainNode,
8636
OPC_CheckType, MVT::v4f32,
8637
OPC_CheckPatternPredicate, 0,
8638
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8639
OPC_EmitMergeInputChains, 1, 1,
8640
OPC_MorphNodeTo, TARGET_OPCODE(X86::UNPCKLPSrm), 0|OPFL_Chain|OPFL_MemRefs,
8641
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
8643
OPC_CheckPredicate, 14,
8646
OPC_CheckOpcode, ISD::LOAD,
8647
OPC_CheckPredicate, 4,
8648
OPC_CheckPredicate, 9,
8649
OPC_CheckPredicate, 24,
8652
OPC_CheckFoldableChainNode,
8655
OPC_CheckType, MVT::v2f64,
8656
OPC_CheckPatternPredicate, 1,
8657
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8658
OPC_EmitMergeInputChains, 1, 1,
8659
OPC_MorphNodeTo, TARGET_OPCODE(X86::UNPCKHPDrm), 0|OPFL_Chain|OPFL_MemRefs,
8660
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
8662
OPC_CheckPredicate, 28,
8665
OPC_CheckOpcode, ISD::LOAD,
8666
OPC_CheckPredicate, 4,
8667
OPC_CheckPredicate, 9,
8668
OPC_CheckPredicate, 24,
8671
OPC_CheckFoldableChainNode,
8674
OPC_CheckType, MVT::v2f64,
8675
OPC_CheckPatternPredicate, 1,
8676
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8677
OPC_EmitMergeInputChains, 1, 1,
8678
OPC_MorphNodeTo, TARGET_OPCODE(X86::UNPCKLPDrm), 0|OPFL_Chain|OPFL_MemRefs,
8679
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
8681
OPC_CheckPredicate, 27,
8683
OPC_SwitchOpcode , 52, ISD::BIT_CONVERT,
8685
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
8687
OPC_CheckOpcode, ISD::LOAD,
8688
OPC_CheckPredicate, 4,
8689
OPC_CheckPredicate, 9,
8690
OPC_CheckPredicate, 10,
8693
OPC_CheckFoldableChainNode,
8695
OPC_CheckType, MVT::i64,
8697
OPC_CheckType, MVT::v2i64,
8701
OPC_CheckOpcode, ISD::UNDEF,
8703
OPC_CheckType, MVT::v2f64,
8704
OPC_CheckPatternPredicate, 9,
8705
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
8706
OPC_EmitMergeInputChains, 1, 0,
8707
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDDUPrm), 0|OPFL_Chain|OPFL_MemRefs,
8708
1, MVT::v2f64, 5, 2, 3, 4, 5, 6,
8710
OPC_CheckPredicate, 4,
8711
OPC_CheckPredicate, 9,
8712
OPC_CheckPredicate, 24,
8715
OPC_CheckFoldableChainNode,
8719
OPC_CheckOpcode, ISD::UNDEF,
8721
OPC_SwitchType , 20, MVT::v2f64,
8722
OPC_CheckPatternPredicate, 9,
8723
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
8724
OPC_EmitMergeInputChains, 1, 0,
8725
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDDUPrm), 0|OPFL_Chain|OPFL_MemRefs,
8726
1, MVT::v2f64, 5, 2, 3, 4, 5, 6,
8728
OPC_CheckPatternPredicate, 9,
8729
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
8730
OPC_EmitMergeInputChains, 1, 0,
8731
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDDUPrm), 0|OPFL_Chain|OPFL_MemRefs,
8732
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
8738
OPC_CheckPredicate, 29,
8740
OPC_CheckOpcode, ISD::BIT_CONVERT,
8742
OPC_CheckOpcode, ISD::LOAD,
8743
OPC_CheckPredicate, 4,
8744
OPC_CheckPredicate, 9,
8745
OPC_CheckPredicate, 24,
8748
OPC_CheckFoldableChainNode,
8750
OPC_CheckType, MVT::v2i64,
8754
OPC_CheckOpcode, ISD::UNDEF,
8756
OPC_CheckType, MVT::v8i16,
8757
OPC_CheckPatternPredicate, 1,
8758
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8759
OPC_EmitMergeInputChains, 1, 1,
8760
OPC_EmitNodeXForm, 1, 0,
8761
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFHWmi), 0|OPFL_Chain|OPFL_MemRefs,
8762
1, MVT::v8i16, 6, 3, 4, 5, 6, 7, 8,
8764
OPC_CheckPredicate, 30,
8766
OPC_CheckOpcode, ISD::BIT_CONVERT,
8768
OPC_CheckOpcode, ISD::LOAD,
8769
OPC_CheckPredicate, 4,
8770
OPC_CheckPredicate, 9,
8771
OPC_CheckPredicate, 24,
8774
OPC_CheckFoldableChainNode,
8776
OPC_CheckType, MVT::v2i64,
8780
OPC_CheckOpcode, ISD::UNDEF,
8782
OPC_CheckType, MVT::v8i16,
8783
OPC_CheckPatternPredicate, 1,
8784
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8785
OPC_EmitMergeInputChains, 1, 1,
8786
OPC_EmitNodeXForm, 2, 0,
8787
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFLWmi), 0|OPFL_Chain|OPFL_MemRefs,
8788
1, MVT::v8i16, 6, 3, 4, 5, 6, 7, 8,
8791
OPC_CheckPredicate, 27,
8793
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
8795
OPC_CheckOpcode, ISD::LOAD,
8796
OPC_CheckPredicate, 4,
8797
OPC_CheckPredicate, 9,
8798
OPC_CheckPredicate, 10,
8801
OPC_CheckFoldableChainNode,
8803
OPC_CheckType, MVT::f64,
8807
OPC_CheckOpcode, ISD::UNDEF,
8809
OPC_CheckType, MVT::v2f64,
8810
OPC_CheckPatternPredicate, 9,
8811
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
8812
OPC_EmitMergeInputChains, 1, 0,
8813
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDDUPrm), 0|OPFL_Chain|OPFL_MemRefs,
8814
1, MVT::v2f64, 5, 2, 3, 4, 5, 6,
8818
OPC_CheckPredicate, 26,
8820
OPC_CheckOpcode, ISD::BIT_CONVERT,
8822
OPC_CheckOpcode, ISD::LOAD,
8823
OPC_CheckPredicate, 4,
8824
OPC_CheckPredicate, 9,
8825
OPC_CheckPredicate, 24,
8828
OPC_CheckFoldableChainNode,
8830
OPC_CheckType, MVT::v4f32,
8834
OPC_CheckOpcode, ISD::UNDEF,
8836
OPC_CheckType, MVT::v4i32,
8837
OPC_CheckPatternPredicate, 1,
8838
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8839
OPC_EmitMergeInputChains, 1, 1,
8840
OPC_EmitNodeXForm, 0, 0,
8841
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFDmi), 0|OPFL_Chain|OPFL_MemRefs,
8842
1, MVT::v4i32, 6, 3, 4, 5, 6, 7, 8,
8844
OPC_CheckPredicate, 31,
8846
OPC_CheckOpcode, ISD::BIT_CONVERT,
8848
OPC_CheckOpcode, ISD::LOAD,
8849
OPC_CheckPredicate, 4,
8850
OPC_CheckPredicate, 9,
8853
OPC_CheckFoldableChainNode,
8855
OPC_CheckType, MVT::v1i64,
8859
OPC_CheckOpcode, ISD::UNDEF,
8861
OPC_CheckType, MVT::v4i16,
8862
OPC_CheckPatternPredicate, 8,
8863
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8864
OPC_EmitMergeInputChains, 1, 1,
8865
OPC_EmitNodeXForm, 3, 0,
8866
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSHUFWmi), 0|OPFL_Chain|OPFL_MemRefs,
8867
1, MVT::v4i16, 6, 3, 4, 5, 6, 7, 8,
8870
OPC_CheckPredicate, 28,
8873
OPC_CheckOpcode, ISD::BIT_CONVERT,
8875
OPC_CheckOpcode, ISD::LOAD,
8876
OPC_CheckPredicate, 4,
8877
OPC_CheckPredicate, 9,
8878
OPC_CheckPredicate, 24,
8881
OPC_CheckFoldableChainNode,
8883
OPC_CheckType, MVT::v2i64,
8886
OPC_SwitchType , 21, MVT::v16i8,
8887
OPC_CheckPatternPredicate, 1,
8888
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8889
OPC_EmitMergeInputChains, 1, 1,
8890
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKLBWrm), 0|OPFL_Chain|OPFL_MemRefs,
8891
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
8893
OPC_CheckPatternPredicate, 1,
8894
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8895
OPC_EmitMergeInputChains, 1, 1,
8896
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKLWDrm), 0|OPFL_Chain|OPFL_MemRefs,
8897
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
8899
OPC_CheckPatternPredicate, 1,
8900
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8901
OPC_EmitMergeInputChains, 1, 1,
8902
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKLDQrm), 0|OPFL_Chain|OPFL_MemRefs,
8903
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
8906
OPC_CheckPredicate, 14,
8909
OPC_CheckOpcode, ISD::BIT_CONVERT,
8911
OPC_CheckOpcode, ISD::LOAD,
8912
OPC_CheckPredicate, 4,
8913
OPC_CheckPredicate, 9,
8914
OPC_CheckPredicate, 24,
8917
OPC_CheckFoldableChainNode,
8919
OPC_CheckType, MVT::v2i64,
8922
OPC_SwitchType , 21, MVT::v16i8,
8923
OPC_CheckPatternPredicate, 1,
8924
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8925
OPC_EmitMergeInputChains, 1, 1,
8926
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKHBWrm), 0|OPFL_Chain|OPFL_MemRefs,
8927
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
8929
OPC_CheckPatternPredicate, 1,
8930
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8931
OPC_EmitMergeInputChains, 1, 1,
8932
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKHWDrm), 0|OPFL_Chain|OPFL_MemRefs,
8933
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
8935
OPC_CheckPatternPredicate, 1,
8936
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
8937
OPC_EmitMergeInputChains, 1, 1,
8938
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKHDQrm), 0|OPFL_Chain|OPFL_MemRefs,
8939
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
8942
OPC_CheckPredicate, 23,
8944
OPC_CheckOpcode, ISD::LOAD,
8945
OPC_CheckPredicate, 4,
8946
OPC_CheckPredicate, 9,
8947
OPC_CheckPredicate, 24,
8950
OPC_CheckFoldableChainNode,
8954
OPC_CheckOpcode, ISD::UNDEF,
8956
OPC_CheckType, MVT::v4f32,
8957
OPC_CheckPatternPredicate, 9,
8958
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
8959
OPC_EmitMergeInputChains, 1, 0,
8960
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSHDUPrm), 0|OPFL_Chain|OPFL_MemRefs,
8961
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
8963
OPC_CheckPredicate, 25,
8965
OPC_CheckOpcode, ISD::LOAD,
8966
OPC_CheckPredicate, 4,
8967
OPC_CheckPredicate, 9,
8968
OPC_CheckPredicate, 24,
8971
OPC_CheckFoldableChainNode,
8975
OPC_CheckOpcode, ISD::UNDEF,
8977
OPC_CheckType, MVT::v4f32,
8978
OPC_CheckPatternPredicate, 9,
8979
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
8980
OPC_EmitMergeInputChains, 1, 0,
8981
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSLDUPrm), 0|OPFL_Chain|OPFL_MemRefs,
8982
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
8985
OPC_CheckPredicate, 32,
8988
OPC_CheckOpcode, ISD::BIT_CONVERT,
8990
OPC_CheckOpcode, ISD::LOAD,
8991
OPC_CheckPredicate, 4,
8992
OPC_CheckPredicate, 9,
8993
OPC_CheckPredicate, 24,
8996
OPC_CheckFoldableChainNode,
8998
OPC_CheckType, MVT::v2i64,
9001
OPC_CheckType, MVT::v4i32,
9002
OPC_CheckPatternPredicate, 1,
9003
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
9004
OPC_EmitMergeInputChains, 1, 2,
9005
OPC_EmitNodeXForm, 0, 0,
9006
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHUFPSrmi), 0|OPFL_Chain|OPFL_MemRefs,
9007
1, MVT::v4i32, 7, 1, 4, 5, 6, 7, 8, 9,
9009
OPC_CheckPredicate, 33,
9012
OPC_CheckOpcode, ISD::BIT_CONVERT,
9014
OPC_CheckOpcode, ISD::LOAD,
9015
OPC_CheckPredicate, 4,
9016
OPC_CheckPredicate, 9,
9019
OPC_CheckFoldableChainNode,
9021
OPC_CheckType, MVT::v1i64,
9024
OPC_SwitchType , 21, MVT::v8i8,
9025
OPC_CheckPatternPredicate, 8,
9026
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
9027
OPC_EmitMergeInputChains, 1, 1,
9028
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKHBWrm), 0|OPFL_Chain|OPFL_MemRefs,
9029
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
9031
OPC_CheckPatternPredicate, 8,
9032
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
9033
OPC_EmitMergeInputChains, 1, 1,
9034
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKHWDrm), 0|OPFL_Chain|OPFL_MemRefs,
9035
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
9037
OPC_CheckPatternPredicate, 8,
9038
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
9039
OPC_EmitMergeInputChains, 1, 1,
9040
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKHDQrm), 0|OPFL_Chain|OPFL_MemRefs,
9041
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
9044
OPC_CheckPredicate, 34,
9047
OPC_CheckOpcode, ISD::BIT_CONVERT,
9049
OPC_CheckOpcode, ISD::LOAD,
9050
OPC_CheckPredicate, 4,
9051
OPC_CheckPredicate, 9,
9054
OPC_CheckFoldableChainNode,
9056
OPC_CheckType, MVT::v1i64,
9059
OPC_SwitchType , 21, MVT::v8i8,
9060
OPC_CheckPatternPredicate, 8,
9061
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
9062
OPC_EmitMergeInputChains, 1, 1,
9063
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKLBWrm), 0|OPFL_Chain|OPFL_MemRefs,
9064
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
9066
OPC_CheckPatternPredicate, 8,
9067
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
9068
OPC_EmitMergeInputChains, 1, 1,
9069
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKLWDrm), 0|OPFL_Chain|OPFL_MemRefs,
9070
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
9072
OPC_CheckPatternPredicate, 8,
9073
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
9074
OPC_EmitMergeInputChains, 1, 1,
9075
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKLDQrm), 0|OPFL_Chain|OPFL_MemRefs,
9076
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
9079
OPC_CheckPredicate, 22,
9082
OPC_CheckOpcode, ISD::BIT_CONVERT,
9084
OPC_CheckOpcode, X86ISD::VZEXT_LOAD,
9086
OPC_CheckFoldableChainNode,
9088
OPC_CheckType, MVT::v2i64,
9091
OPC_CheckType, MVT::v4i32,
9092
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
9093
OPC_EmitMergeInputChains, 1, 1,
9094
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVHPSrm), 0|OPFL_Chain,
9095
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
9097
OPC_CheckPredicate, 27,
9100
OPC_CheckOpcode, ISD::UNDEF,
9102
OPC_SwitchType , 9, MVT::v4f32,
9103
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLHPSrr), 0,
9104
1, MVT::v4f32, 2, 0, 0,
9106
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLHPSrr), 0,
9107
1, MVT::v2i64, 2, 0, 0,
9110
OPC_CheckPredicate, 35,
9113
OPC_CheckOpcode, ISD::UNDEF,
9115
OPC_SwitchType , 9, MVT::v4f32,
9116
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVHLPSrr), 0,
9117
1, MVT::v4f32, 2, 0, 0,
9119
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVHLPSrr), 0,
9120
1, MVT::v4i32, 2, 0, 0,
9124
OPC_CheckPredicate, 32,
9127
OPC_CheckOpcode, ISD::LOAD,
9128
OPC_CheckPredicate, 4,
9129
OPC_CheckPredicate, 9,
9130
OPC_CheckPredicate, 24,
9133
OPC_CheckFoldableChainNode,
9136
OPC_SwitchType , 25, MVT::v4f32,
9137
OPC_CheckPatternPredicate, 0,
9138
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
9139
OPC_EmitMergeInputChains, 1, 2,
9140
OPC_EmitNodeXForm, 0, 0,
9141
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHUFPSrmi), 0|OPFL_Chain|OPFL_MemRefs,
9142
1, MVT::v4f32, 7, 1, 4, 5, 6, 7, 8, 9,
9144
OPC_CheckPatternPredicate, 1,
9145
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
9146
OPC_EmitMergeInputChains, 1, 2,
9147
OPC_EmitNodeXForm, 0, 0,
9148
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHUFPDrmi), 0|OPFL_Chain|OPFL_MemRefs,
9149
1, MVT::v2f64, 7, 1, 4, 5, 6, 7, 8, 9,
9152
OPC_CheckPredicate, 28,
9155
OPC_CheckOpcode, ISD::LOAD,
9156
OPC_CheckPredicate, 4,
9157
OPC_CheckPredicate, 9,
9158
OPC_CheckPredicate, 24,
9161
OPC_CheckFoldableChainNode,
9164
OPC_CheckType, MVT::v2i64,
9165
OPC_CheckPatternPredicate, 1,
9166
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
9167
OPC_EmitMergeInputChains, 1, 1,
9168
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKLQDQrm), 0|OPFL_Chain|OPFL_MemRefs,
9169
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
9171
OPC_CheckPredicate, 14,
9174
OPC_CheckOpcode, ISD::LOAD,
9175
OPC_CheckPredicate, 4,
9176
OPC_CheckPredicate, 9,
9177
OPC_CheckPredicate, 24,
9180
OPC_CheckFoldableChainNode,
9183
OPC_CheckType, MVT::v2i64,
9184
OPC_CheckPatternPredicate, 1,
9185
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
9186
OPC_EmitMergeInputChains, 1, 1,
9187
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKHQDQrm), 0|OPFL_Chain|OPFL_MemRefs,
9188
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
9190
OPC_CheckPredicate, 22,
9193
OPC_CheckType, MVT::v4f32,
9194
OPC_CheckPatternPredicate, 0,
9195
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLHPSrr), 0,
9196
1, MVT::v4f32, 2, 0, 1,
9198
OPC_CheckPredicate, 36,
9201
OPC_CheckType, MVT::v4f32,
9202
OPC_CheckPatternPredicate, 0,
9203
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVHLPSrr), 0,
9204
1, MVT::v4f32, 2, 0, 1,
9206
OPC_CheckPredicate, 22,
9209
OPC_CheckType, MVT::v4i32,
9210
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLHPSrr), 0,
9211
1, MVT::v4i32, 2, 0, 1,
9213
OPC_CheckPredicate, 36,
9216
OPC_CheckType, MVT::v4i32,
9217
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVHLPSrr), 0,
9218
1, MVT::v4i32, 2, 0, 1,
9220
OPC_CheckPredicate, 37,
9222
OPC_CheckOpcode, ISD::BIT_CONVERT,
9223
OPC_CheckPredicate, 38,
9226
OPC_CheckType, MVT::v2f64,
9227
OPC_CheckPatternPredicate, 1,
9228
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZPQILo2PQIrr), 0,
9229
1, MVT::v2f64, 1, 0,
9231
OPC_CheckPredicate, 23,
9234
OPC_CheckOpcode, ISD::UNDEF,
9236
OPC_CheckType, MVT::v4i32,
9237
OPC_CheckPatternPredicate, 9,
9238
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSHDUPrr), 0,
9239
1, MVT::v4i32, 1, 0,
9241
OPC_CheckPredicate, 25,
9244
OPC_CheckOpcode, ISD::UNDEF,
9246
OPC_CheckType, MVT::v4i32,
9247
OPC_CheckPatternPredicate, 9,
9248
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSLDUPrr), 0,
9249
1, MVT::v4i32, 1, 0,
9253
OPC_CheckPredicate, 39,
9256
OPC_CheckOpcode, ISD::UNDEF,
9258
OPC_SwitchType , 14, MVT::v4i32,
9259
OPC_CheckPatternPredicate, 10,
9260
OPC_EmitNodeXForm, 0, 0,
9261
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFDri), 0,
9262
1, MVT::v4i32, 2, 1, 2,
9264
OPC_CheckPatternPredicate, 10,
9265
OPC_EmitNodeXForm, 0, 0,
9266
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFDri), 0,
9267
1, MVT::v4f32, 2, 1, 2,
9270
OPC_CheckPredicate, 40,
9273
OPC_CheckOpcode, ISD::UNDEF,
9275
OPC_SwitchType , 14, MVT::v4i32,
9276
OPC_CheckPatternPredicate, 10,
9277
OPC_EmitNodeXForm, 0, 0,
9278
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFDri), 0,
9279
1, MVT::v4i32, 2, 1, 2,
9281
OPC_CheckPatternPredicate, 10,
9282
OPC_EmitNodeXForm, 0, 0,
9283
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFDri), 0,
9284
1, MVT::v4f32, 2, 1, 2,
9288
OPC_CheckPredicate, 37,
9291
OPC_SwitchType , 21, MVT::v4f32,
9292
OPC_EmitInteger, MVT::i32, 1,
9293
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
9294
1, MVT::f32, 2, 1, 2,
9295
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSSrr), 0,
9296
1, MVT::v4f32, 2, 0, 3,
9298
OPC_EmitInteger, MVT::i32, 2,
9299
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
9300
1, MVT::f64, 2, 1, 2,
9301
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSDrr), 0,
9302
1, MVT::v2f64, 2, 0, 3,
9304
OPC_EmitInteger, MVT::i32, 1,
9305
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
9306
1, MVT::f32, 2, 1, 2,
9307
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSSrr), 0,
9308
1, MVT::v4i32, 2, 0, 3,
9310
OPC_EmitInteger, MVT::i32, 2,
9311
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
9312
1, MVT::f64, 2, 1, 2,
9313
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSDrr), 0,
9314
1, MVT::v2i64, 2, 0, 3,
9317
OPC_CheckPredicate, 13,
9320
OPC_SwitchType , 23, MVT::v4f32,
9321
OPC_CheckPatternPredicate, 1,
9322
OPC_EmitInteger, MVT::i32, 2,
9323
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
9324
1, MVT::f64, 2, 1, 2,
9325
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSDrr), 0,
9326
1, MVT::v4f32, 2, 0, 3,
9328
OPC_CheckPatternPredicate, 1,
9329
OPC_EmitInteger, MVT::i32, 2,
9330
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
9331
1, MVT::f64, 2, 1, 2,
9332
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSDrr), 0,
9333
1, MVT::v4i32, 2, 0, 3,
9336
OPC_CheckPredicate, 41,
9339
OPC_CheckOpcode, ISD::UNDEF,
9341
OPC_CheckType, MVT::v2f64,
9342
OPC_CheckPatternPredicate, 1,
9343
OPC_MorphNodeTo, TARGET_OPCODE(X86::UNPCKLPDrr), 0,
9344
1, MVT::v2f64, 2, 0, 0,
9346
OPC_CheckPredicate, 14,
9349
OPC_CheckOpcode, ISD::UNDEF,
9351
OPC_CheckType, MVT::v2f64,
9352
OPC_CheckPatternPredicate, 1,
9353
OPC_MorphNodeTo, TARGET_OPCODE(X86::UNPCKHPDrr), 0,
9354
1, MVT::v2f64, 2, 0, 0,
9356
OPC_CheckPredicate, 41,
9359
OPC_CheckOpcode, ISD::UNDEF,
9361
OPC_CheckType, MVT::v2i64,
9362
OPC_CheckPatternPredicate, 1,
9363
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKLQDQrr), 0,
9364
1, MVT::v2i64, 2, 0, 0,
9366
OPC_CheckPredicate, 14,
9369
OPC_CheckOpcode, ISD::UNDEF,
9371
OPC_CheckType, MVT::v2i64,
9372
OPC_CheckPatternPredicate, 1,
9373
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKHQDQrr), 0,
9374
1, MVT::v2i64, 2, 0, 0,
9376
OPC_CheckPredicate, 39,
9379
OPC_CheckOpcode, ISD::UNDEF,
9381
OPC_SwitchType , 9, MVT::v4f32,
9382
OPC_MorphNodeTo, TARGET_OPCODE(X86::UNPCKLPSrr), 0,
9383
1, MVT::v4f32, 2, 0, 0,
9385
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKLBWrr), 0,
9386
1, MVT::v16i8, 2, 0, 0,
9388
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKLWDrr), 0,
9389
1, MVT::v8i16, 2, 0, 0,
9391
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKLDQrr), 0,
9392
1, MVT::v4i32, 2, 0, 0,
9395
OPC_CheckPredicate, 40,
9398
OPC_CheckOpcode, ISD::UNDEF,
9400
OPC_SwitchType , 9, MVT::v4f32,
9401
OPC_MorphNodeTo, TARGET_OPCODE(X86::UNPCKHPSrr), 0,
9402
1, MVT::v4f32, 2, 0, 0,
9404
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKHBWrr), 0,
9405
1, MVT::v16i8, 2, 0, 0,
9407
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKHWDrr), 0,
9408
1, MVT::v8i16, 2, 0, 0,
9410
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKHDQrr), 0,
9411
1, MVT::v4i32, 2, 0, 0,
9414
OPC_CheckPredicate, 42,
9417
OPC_CheckOpcode, ISD::UNDEF,
9419
OPC_SwitchType , 9, MVT::v8i8,
9420
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKLBWrr), 0,
9421
1, MVT::v8i8, 2, 0, 0,
9423
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKLWDrr), 0,
9424
1, MVT::v4i16, 2, 0, 0,
9426
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKLDQrr), 0,
9427
1, MVT::v2i32, 2, 0, 0,
9430
OPC_CheckPredicate, 43,
9433
OPC_CheckOpcode, ISD::UNDEF,
9435
OPC_SwitchType , 9, MVT::v8i8,
9436
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKHBWrr), 0,
9437
1, MVT::v8i8, 2, 0, 0,
9439
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKHWDrr), 0,
9440
1, MVT::v4i16, 2, 0, 0,
9442
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKHDQrr), 0,
9443
1, MVT::v2i32, 2, 0, 0,
9446
OPC_CheckPredicate, 14,
9449
OPC_CheckType, MVT::v4f32,
9450
OPC_CheckPatternPredicate, 0,
9451
OPC_MorphNodeTo, TARGET_OPCODE(X86::UNPCKHPSrr), 0,
9452
1, MVT::v4f32, 2, 0, 1,
9454
OPC_CheckPredicate, 28,
9457
OPC_CheckType, MVT::v4f32,
9458
OPC_CheckPatternPredicate, 0,
9459
OPC_MorphNodeTo, TARGET_OPCODE(X86::UNPCKLPSrr), 0,
9460
1, MVT::v4f32, 2, 0, 1,
9462
OPC_CheckPredicate, 14,
9465
OPC_CheckType, MVT::v2f64,
9466
OPC_CheckPatternPredicate, 1,
9467
OPC_MorphNodeTo, TARGET_OPCODE(X86::UNPCKHPDrr), 0,
9468
1, MVT::v2f64, 2, 0, 1,
9470
OPC_CheckPredicate, 28,
9473
OPC_CheckType, MVT::v2f64,
9474
OPC_CheckPatternPredicate, 1,
9475
OPC_MorphNodeTo, TARGET_OPCODE(X86::UNPCKLPDrr), 0,
9476
1, MVT::v2f64, 2, 0, 1,
9478
OPC_CheckPredicate, 37,
9480
OPC_CheckOpcode, ISD::BUILD_VECTOR,
9481
OPC_CheckPredicate, 44,
9484
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
9486
OPC_CheckOpcode, ISD::BIT_CONVERT,
9488
OPC_CheckChild0Type, MVT::v8i8,
9489
OPC_CheckType, MVT::i64,
9492
OPC_CheckType, MVT::v2i64,
9493
OPC_CheckPatternPredicate, 1,
9494
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ2DQrr), 0,
9495
1, MVT::v2i64, 1, 0,
9499
OPC_CheckPredicate, 26,
9502
OPC_CheckOpcode, ISD::UNDEF,
9504
OPC_SwitchType , 14, MVT::v4i32,
9505
OPC_CheckPatternPredicate, 1,
9506
OPC_EmitNodeXForm, 0, 0,
9507
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFDri), 0,
9508
1, MVT::v4i32, 2, 1, 2,
9510
OPC_CheckPatternPredicate, 1,
9511
OPC_EmitNodeXForm, 0, 0,
9512
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFDri), 0,
9513
1, MVT::v4f32, 2, 1, 2,
9516
OPC_CheckPredicate, 45,
9519
OPC_SwitchType , 15, MVT::v4i32,
9520
OPC_CheckPatternPredicate, 11,
9521
OPC_EmitNodeXForm, 4, 0,
9522
OPC_MorphNodeTo, TARGET_OPCODE(X86::PALIGNR128rr), 0,
9523
1, MVT::v4i32, 3, 2, 1, 3,
9525
OPC_CheckPatternPredicate, 11,
9526
OPC_EmitNodeXForm, 4, 0,
9527
OPC_MorphNodeTo, TARGET_OPCODE(X86::PALIGNR128rr), 0,
9528
1, MVT::v4f32, 3, 2, 1, 3,
9530
OPC_CheckPatternPredicate, 11,
9531
OPC_EmitNodeXForm, 4, 0,
9532
OPC_MorphNodeTo, TARGET_OPCODE(X86::PALIGNR128rr), 0,
9533
1, MVT::v8i16, 3, 2, 1, 3,
9535
OPC_CheckPatternPredicate, 11,
9536
OPC_EmitNodeXForm, 4, 0,
9537
OPC_MorphNodeTo, TARGET_OPCODE(X86::PALIGNR128rr), 0,
9538
1, MVT::v16i8, 3, 2, 1, 3,
9542
OPC_CheckPredicate, 37,
9545
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
9548
OPC_CheckChild0Type, MVT::f32,
9550
OPC_CheckType, MVT::v16i8,
9551
OPC_CheckPatternPredicate, 0,
9552
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSSrr), 0,
9553
1, MVT::v16i8, 2, 0, 1,
9555
OPC_CheckChild0Type, MVT::f64,
9557
OPC_CheckType, MVT::v16i8,
9558
OPC_CheckPatternPredicate, 1,
9559
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSDrr), 0,
9560
1, MVT::v16i8, 2, 0, 1,
9565
OPC_CheckPredicate, 29,
9568
OPC_CheckOpcode, ISD::UNDEF,
9570
OPC_CheckType, MVT::v8i16,
9571
OPC_CheckPatternPredicate, 1,
9572
OPC_EmitNodeXForm, 1, 0,
9573
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFHWri), 0,
9574
1, MVT::v8i16, 2, 1, 2,
9576
OPC_CheckPredicate, 30,
9579
OPC_CheckOpcode, ISD::UNDEF,
9581
OPC_CheckType, MVT::v8i16,
9582
OPC_CheckPatternPredicate, 1,
9583
OPC_EmitNodeXForm, 2, 0,
9584
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFLWri), 0,
9585
1, MVT::v8i16, 2, 1, 2,
9588
OPC_CheckPredicate, 23,
9591
OPC_CheckOpcode, ISD::UNDEF,
9593
OPC_CheckType, MVT::v4f32,
9594
OPC_CheckPatternPredicate, 9,
9595
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSHDUPrr), 0,
9596
1, MVT::v4f32, 1, 0,
9598
OPC_CheckPredicate, 25,
9601
OPC_CheckOpcode, ISD::UNDEF,
9603
OPC_CheckType, MVT::v4f32,
9604
OPC_CheckPatternPredicate, 9,
9605
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSLDUPrr), 0,
9606
1, MVT::v4f32, 1, 0,
9608
OPC_CheckPredicate, 27,
9611
OPC_CheckOpcode, ISD::UNDEF,
9613
OPC_CheckType, MVT::v2f64,
9614
OPC_CheckPatternPredicate, 9,
9615
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDDUPrr), 0,
9616
1, MVT::v2f64, 1, 0,
9620
OPC_CheckPredicate, 26,
9623
OPC_CheckOpcode, ISD::UNDEF,
9625
OPC_SwitchType , 13, MVT::v4f32,
9626
OPC_EmitNodeXForm, 0, 0,
9627
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHUFPSrri), 0,
9628
1, MVT::v4f32, 3, 1, 1, 2,
9630
OPC_CheckPatternPredicate, 1,
9631
OPC_EmitNodeXForm, 0, 0,
9632
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHUFPDrri), 0,
9633
1, MVT::v2i64, 3, 1, 1, 2,
9635
OPC_CheckPatternPredicate, 1,
9636
OPC_EmitNodeXForm, 0, 0,
9637
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHUFPDrri), 0,
9638
1, MVT::v2f64, 3, 1, 1, 2,
9641
OPC_CheckPredicate, 31,
9644
OPC_CheckOpcode, ISD::UNDEF,
9646
OPC_CheckType, MVT::v4i16,
9647
OPC_CheckPatternPredicate, 8,
9648
OPC_EmitNodeXForm, 3, 0,
9649
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSHUFWri), 0,
9650
1, MVT::v4i16, 2, 1, 2,
9652
OPC_CheckPredicate, 32,
9655
OPC_SwitchType , 15, MVT::v4f32,
9656
OPC_CheckPatternPredicate, 0,
9657
OPC_EmitNodeXForm, 0, 0,
9658
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHUFPSrri), 0,
9659
1, MVT::v4f32, 3, 1, 2, 3,
9661
OPC_CheckPatternPredicate, 1,
9662
OPC_EmitNodeXForm, 0, 0,
9663
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHUFPDrri), 0,
9664
1, MVT::v2f64, 3, 1, 2, 3,
9668
OPC_CheckPredicate, 28,
9671
OPC_SwitchType , 11, MVT::v16i8,
9672
OPC_CheckPatternPredicate, 1,
9673
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKLBWrr), 0,
9674
1, MVT::v16i8, 2, 0, 1,
9676
OPC_CheckPatternPredicate, 1,
9677
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKLWDrr), 0,
9678
1, MVT::v8i16, 2, 0, 1,
9680
OPC_CheckPatternPredicate, 1,
9681
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKLDQrr), 0,
9682
1, MVT::v4i32, 2, 0, 1,
9684
OPC_CheckPatternPredicate, 1,
9685
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKLQDQrr), 0,
9686
1, MVT::v2i64, 2, 0, 1,
9689
OPC_CheckPredicate, 14,
9692
OPC_SwitchType , 11, MVT::v16i8,
9693
OPC_CheckPatternPredicate, 1,
9694
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKHBWrr), 0,
9695
1, MVT::v16i8, 2, 0, 1,
9697
OPC_CheckPatternPredicate, 1,
9698
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKHWDrr), 0,
9699
1, MVT::v8i16, 2, 0, 1,
9701
OPC_CheckPatternPredicate, 1,
9702
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKHDQrr), 0,
9703
1, MVT::v4i32, 2, 0, 1,
9705
OPC_CheckPatternPredicate, 1,
9706
OPC_MorphNodeTo, TARGET_OPCODE(X86::PUNPCKHQDQrr), 0,
9707
1, MVT::v2i64, 2, 0, 1,
9712
OPC_CheckPredicate, 32,
9715
OPC_SwitchType , 15, MVT::v4i32,
9716
OPC_CheckPatternPredicate, 1,
9717
OPC_EmitNodeXForm, 0, 0,
9718
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHUFPSrri), 0,
9719
1, MVT::v4i32, 3, 1, 2, 3,
9721
OPC_CheckPatternPredicate, 1,
9722
OPC_EmitNodeXForm, 0, 0,
9723
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHUFPDrri), 0,
9724
1, MVT::v2i64, 3, 1, 2, 3,
9727
OPC_CheckPredicate, 13,
9730
OPC_CheckType, MVT::v4f32,
9731
OPC_EmitNodeXForm, 0, 0,
9732
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHUFPSrri), 0,
9733
1, MVT::v4f32, 3, 2, 1, 3,
9736
OPC_CheckPredicate, 33,
9739
OPC_SwitchType , 11, MVT::v8i8,
9740
OPC_CheckPatternPredicate, 8,
9741
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKHBWrr), 0,
9742
1, MVT::v8i8, 2, 0, 1,
9744
OPC_CheckPatternPredicate, 8,
9745
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKHWDrr), 0,
9746
1, MVT::v4i16, 2, 0, 1,
9748
OPC_CheckPatternPredicate, 8,
9749
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKHDQrr), 0,
9750
1, MVT::v2i32, 2, 0, 1,
9753
OPC_CheckPredicate, 34,
9756
OPC_SwitchType , 11, MVT::v8i8,
9757
OPC_CheckPatternPredicate, 8,
9758
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKLBWrr), 0,
9759
1, MVT::v8i8, 2, 0, 1,
9761
OPC_CheckPatternPredicate, 8,
9762
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKLWDrr), 0,
9763
1, MVT::v4i16, 2, 0, 1,
9765
OPC_CheckPatternPredicate, 8,
9766
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKLDQrr), 0,
9767
1, MVT::v2i32, 2, 0, 1,
9770
95|128,5, X86ISD::VZEXT_MOVL,
9771
OPC_Scope, 113|128,4,
9773
OPC_SwitchOpcode , 42|128,2, ISD::SCALAR_TO_VECTOR,
9774
OPC_Scope, 72|128,1,
9776
OPC_CheckOpcode, ISD::LOAD,
9777
OPC_CheckPredicate, 4,
9779
OPC_CheckPredicate, 5,
9782
OPC_CheckFoldableChainNode,
9784
OPC_CheckType, MVT::i32,
9787
OPC_CheckType, MVT::v4i32,
9788
OPC_CheckPatternPredicate, 1,
9789
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9790
OPC_EmitMergeInputChains, 1, 0,
9791
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZDI2PDIrm), 0|OPFL_Chain|OPFL_MemRefs,
9792
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
9794
OPC_CheckPredicate, 9,
9795
OPC_CheckPredicate, 10,
9798
OPC_CheckFoldableChainNode,
9800
OPC_CheckType, MVT::i64,
9803
OPC_CheckType, MVT::v2i64,
9804
OPC_CheckPatternPredicate, 1,
9805
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9806
OPC_EmitMergeInputChains, 1, 0,
9807
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZQI2PQIrm), 0|OPFL_Chain|OPFL_MemRefs,
9808
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
9810
OPC_CheckPredicate, 5,
9813
OPC_CheckFoldableChainNode,
9815
OPC_CheckType, MVT::i32,
9818
OPC_CheckType, MVT::v2i32,
9819
OPC_CheckPatternPredicate, 8,
9820
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9821
OPC_EmitMergeInputChains, 1, 0,
9822
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVZDI2PDIrm), 0|OPFL_Chain|OPFL_MemRefs,
9823
1, MVT::v2i32, 5, 2, 3, 4, 5, 6,
9825
OPC_CheckPredicate, 9,
9826
OPC_CheckPredicate, 10,
9829
OPC_CheckFoldableChainNode,
9831
OPC_SwitchType , 38, MVT::f32,
9834
OPC_CheckType, MVT::v4f32,
9835
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9836
OPC_EmitMergeInputChains, 1, 0,
9837
OPC_EmitInteger, MVT::i32, 0,
9838
OPC_EmitNode, TARGET_OPCODE(X86::MOVSSrm), 0|OPFL_Chain,
9839
1, MVT::f32, 5, 2, 3, 4, 5, 6,
9840
OPC_EmitInteger, MVT::i32, 1,
9841
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain|OPFL_MemRefs,
9842
1, MVT::v4f32, 3, 7, 8, 9,
9846
OPC_CheckType, MVT::v2f64,
9847
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9848
OPC_EmitMergeInputChains, 1, 0,
9849
OPC_EmitInteger, MVT::i64, 0,
9850
OPC_EmitNode, TARGET_OPCODE(X86::MOVSDrm), 0|OPFL_Chain,
9851
1, MVT::f64, 5, 2, 3, 4, 5, 6,
9852
OPC_EmitInteger, MVT::i32, 2,
9853
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain|OPFL_MemRefs,
9854
1, MVT::v2f64, 3, 7, 8, 9,
9860
OPC_CheckChild0Type, MVT::i32,
9862
OPC_SwitchType , 10, MVT::v4i32,
9863
OPC_CheckPatternPredicate, 1,
9864
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZDI2PDIrr), 0,
9865
1, MVT::v4i32, 1, 0,
9867
OPC_CheckPatternPredicate, 8,
9868
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVZDI2PDIrr), 0,
9869
1, MVT::v2i32, 1, 0,
9872
OPC_CheckChild0Type, MVT::i64,
9874
OPC_CheckType, MVT::v2i64,
9875
OPC_CheckPatternPredicate, 1,
9876
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZQI2PQIrr), 0,
9877
1, MVT::v2i64, 1, 0,
9879
OPC_CheckChild0Type, MVT::f64,
9881
OPC_CheckType, MVT::v2f64,
9882
OPC_EmitNode, TARGET_OPCODE(X86::V_SET0), 0,
9884
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSDrr), 0,
9885
1, MVT::v2f64, 2, 1, 0,
9887
OPC_CheckChild0Type, MVT::f32,
9889
OPC_CheckType, MVT::v4f32,
9890
OPC_EmitNode, TARGET_OPCODE(X86::V_SET0), 0,
9892
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSSrr), 0,
9893
1, MVT::v4f32, 2, 1, 0,
9896
40|128,1, ISD::BIT_CONVERT,
9898
OPC_CheckOpcode, ISD::LOAD,
9899
OPC_CheckPredicate, 4,
9900
OPC_CheckPredicate, 9,
9903
OPC_CheckFoldableChainNode,
9905
OPC_SwitchType , 80, MVT::v4f32,
9908
OPC_SwitchType , 18, MVT::v4i32,
9909
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9910
OPC_EmitMergeInputChains, 1, 0,
9911
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZDI2PDIrm), 0|OPFL_Chain|OPFL_MemRefs,
9912
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
9914
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9915
OPC_EmitMergeInputChains, 1, 0,
9916
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZQI2PQIrm), 0|OPFL_Chain|OPFL_MemRefs,
9917
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
9919
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9920
OPC_EmitMergeInputChains, 1, 0,
9921
OPC_EmitInteger, MVT::i64, 0,
9922
OPC_EmitNode, TARGET_OPCODE(X86::MOVSDrm), 0|OPFL_Chain,
9923
1, MVT::f64, 5, 2, 3, 4, 5, 6,
9924
OPC_EmitInteger, MVT::i32, 2,
9925
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain|OPFL_MemRefs,
9926
1, MVT::v2f64, 3, 7, 8, 9,
9931
OPC_CheckType, MVT::v4i32,
9932
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9933
OPC_EmitMergeInputChains, 1, 0,
9934
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZDI2PDIrm), 0|OPFL_Chain|OPFL_MemRefs,
9935
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
9939
OPC_CheckType, MVT::v2i64,
9940
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9941
OPC_EmitMergeInputChains, 1, 0,
9942
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZPQILo2PQIrm), 0|OPFL_Chain|OPFL_MemRefs,
9943
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
9947
OPC_CheckType, MVT::v2i32,
9948
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9949
OPC_EmitMergeInputChains, 1, 0,
9950
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVZDI2PDIrm), 0|OPFL_Chain|OPFL_MemRefs,
9951
1, MVT::v2i32, 5, 2, 3, 4, 5, 6,
9953
18|128,1, ISD::LOAD,
9954
OPC_CheckPredicate, 4,
9955
OPC_CheckPredicate, 9,
9960
OPC_SwitchType , 18, MVT::v4i32,
9961
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9962
OPC_EmitMergeInputChains, 1, 0,
9963
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZDI2PDIrm), 0|OPFL_Chain|OPFL_MemRefs,
9964
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
9967
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9968
OPC_EmitMergeInputChains, 1, 0,
9969
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZQI2PQIrm), 0|OPFL_Chain|OPFL_MemRefs,
9970
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
9972
OPC_CheckPatternPredicate, 1,
9973
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9974
OPC_EmitMergeInputChains, 1, 0,
9975
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZPQILo2PQIrm), 0|OPFL_Chain|OPFL_MemRefs,
9976
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
9979
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9980
OPC_EmitMergeInputChains, 1, 0,
9981
OPC_EmitInteger, MVT::i32, 0,
9982
OPC_EmitNode, TARGET_OPCODE(X86::MOVSSrm), 0|OPFL_Chain,
9983
1, MVT::f32, 5, 2, 3, 4, 5, 6,
9984
OPC_EmitInteger, MVT::i32, 1,
9985
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain|OPFL_MemRefs,
9986
1, MVT::v4f32, 3, 7, 8, 9,
9988
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
9989
OPC_EmitMergeInputChains, 1, 0,
9990
OPC_EmitInteger, MVT::i64, 0,
9991
OPC_EmitNode, TARGET_OPCODE(X86::MOVSDrm), 0|OPFL_Chain,
9992
1, MVT::f64, 5, 2, 3, 4, 5, 6,
9993
OPC_EmitInteger, MVT::i32, 2,
9994
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain|OPFL_MemRefs,
9995
1, MVT::v2f64, 3, 7, 8, 9,
10000
OPC_SwitchType , 10, MVT::v2i64,
10001
OPC_CheckPatternPredicate, 1,
10002
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZPQILo2PQIrr), 0,
10003
1, MVT::v2i64, 1, 0,
10005
OPC_EmitNode, TARGET_OPCODE(X86::MMX_V_SET0), 0,
10007
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PUNPCKLDQrr), 0,
10008
1, MVT::v2i32, 2, 0, 1,
10010
OPC_EmitNode, TARGET_OPCODE(X86::V_SET0), 0,
10012
OPC_EmitInteger, MVT::i32, 1,
10013
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
10014
1, MVT::f32, 2, 0, 2,
10015
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSSrr), 0,
10016
1, MVT::v4f32, 2, 1, 3,
10018
OPC_EmitNode, TARGET_OPCODE(X86::V_SET0), 0,
10020
OPC_EmitInteger, MVT::i32, 1,
10021
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
10022
1, MVT::f32, 2, 0, 2,
10023
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSSrr), 0,
10024
1, MVT::v4i32, 2, 1, 3,
10026
OPC_CheckPatternPredicate, 1,
10027
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZPQILo2PQIrr), 0,
10028
1, MVT::v2f64, 1, 0,
10031
123|128,2, ISD::SCALAR_TO_VECTOR,
10032
OPC_Scope, 7|128,2,
10034
OPC_SwitchOpcode , 59|128,1, ISD::LOAD,
10035
OPC_CheckPredicate, 4,
10037
OPC_CheckPredicate, 9,
10038
OPC_CheckPredicate, 10,
10042
OPC_SwitchType , 37, MVT::f32,
10044
OPC_CheckType, MVT::v4f32,
10045
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10046
OPC_EmitMergeInputChains, 1, 0,
10047
OPC_EmitInteger, MVT::i32, 0,
10048
OPC_EmitNode, TARGET_OPCODE(X86::MOVSSrm), 0|OPFL_Chain,
10049
1, MVT::f32, 5, 2, 3, 4, 5, 6,
10050
OPC_EmitInteger, MVT::i32, 1,
10051
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain|OPFL_MemRefs,
10052
1, MVT::v4f32, 3, 7, 8, 9,
10055
OPC_CheckType, MVT::v2f64,
10056
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10057
OPC_EmitMergeInputChains, 1, 0,
10058
OPC_EmitInteger, MVT::i64, 0,
10059
OPC_EmitNode, TARGET_OPCODE(X86::MOVSDrm), 0|OPFL_Chain,
10060
1, MVT::f64, 5, 2, 3, 4, 5, 6,
10061
OPC_EmitInteger, MVT::i32, 2,
10062
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain|OPFL_MemRefs,
10063
1, MVT::v2f64, 3, 7, 8, 9,
10066
OPC_CheckPredicate, 5,
10070
OPC_CheckType, MVT::i32,
10072
OPC_CheckType, MVT::v4i32,
10073
OPC_CheckPatternPredicate, 1,
10074
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10075
OPC_EmitMergeInputChains, 1, 0,
10076
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDI2PDIrm), 0|OPFL_Chain|OPFL_MemRefs,
10077
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
10079
OPC_CheckPredicate, 9,
10080
OPC_CheckPredicate, 10,
10084
OPC_CheckType, MVT::i64,
10086
OPC_CheckType, MVT::v2i64,
10087
OPC_CheckPatternPredicate, 1,
10088
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10089
OPC_EmitMergeInputChains, 1, 0,
10090
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVQI2PQIrm), 0|OPFL_Chain|OPFL_MemRefs,
10091
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
10093
OPC_CheckPredicate, 5,
10097
OPC_CheckType, MVT::i32,
10099
OPC_CheckType, MVT::v2i32,
10100
OPC_CheckPatternPredicate, 8,
10101
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10102
OPC_EmitMergeInputChains, 1, 0,
10103
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVD64rm), 0|OPFL_Chain|OPFL_MemRefs,
10104
1, MVT::v2i32, 5, 2, 3, 4, 5, 6,
10106
67, ISD::BIT_CONVERT,
10109
OPC_CheckChild0Type, MVT::v8i8,
10110
OPC_CheckType, MVT::i64,
10112
OPC_CheckType, MVT::v2i64,
10113
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ2DQrr), 0,
10114
1, MVT::v2i64, 1, 0,
10116
OPC_CheckChild0Type, MVT::v4i16,
10117
OPC_CheckType, MVT::i64,
10119
OPC_CheckType, MVT::v2i64,
10120
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ2DQrr), 0,
10121
1, MVT::v2i64, 1, 0,
10123
OPC_CheckChild0Type, MVT::v2i32,
10124
OPC_CheckType, MVT::i64,
10126
OPC_CheckType, MVT::v2i64,
10127
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ2DQrr), 0,
10128
1, MVT::v2i64, 1, 0,
10130
OPC_CheckChild0Type, MVT::v1i64,
10131
OPC_CheckType, MVT::i64,
10133
OPC_CheckType, MVT::v2i64,
10134
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ2DQrr), 0,
10135
1, MVT::v2i64, 1, 0,
10141
OPC_CheckChild0Type, MVT::i64,
10142
OPC_SwitchType , 10, MVT::v2i64,
10143
OPC_CheckPatternPredicate, 1,
10144
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64toPQIrr), 0,
10145
1, MVT::v2i64, 1, 0,
10147
OPC_CheckPatternPredicate, 8,
10148
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVD64rrv164), 0,
10149
1, MVT::v1i64, 1, 0,
10152
OPC_CheckChild0Type, MVT::i32,
10153
OPC_SwitchType , 10, MVT::v4i32,
10154
OPC_CheckPatternPredicate, 1,
10155
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDI2PDIrr), 0,
10156
1, MVT::v4i32, 1, 0,
10158
OPC_CheckPatternPredicate, 8,
10159
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVD64rr), 0,
10160
1, MVT::v2i32, 1, 0,
10163
OPC_CheckChild0Type, MVT::f32,
10164
OPC_CheckType, MVT::v4f32,
10165
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::IMPLICIT_DEF), 0,
10167
OPC_EmitInteger, MVT::i32, 1,
10168
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::INSERT_SUBREG), 0,
10169
1, MVT::v4f32, 3, 1, 0, 2,
10171
OPC_CheckChild0Type, MVT::f64,
10172
OPC_CheckType, MVT::v2f64,
10173
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::IMPLICIT_DEF), 0,
10175
OPC_EmitInteger, MVT::i32, 2,
10176
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::INSERT_SUBREG), 0,
10177
1, MVT::v2f64, 3, 1, 0, 2,
10180
122|128,12, ISD::LOAD,
10181
OPC_CheckPredicate, 4,
10182
OPC_Scope, 80|128,1,
10183
OPC_CheckPredicate, 9,
10185
OPC_CheckPredicate, 10,
10189
OPC_CheckType, MVT::f64,
10190
OPC_CheckPatternPredicate, 1,
10191
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10192
OPC_EmitMergeInputChains, 1, 0,
10193
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSDrm), 0|OPFL_Chain|OPFL_MemRefs,
10194
1, MVT::f64, 5, 2, 3, 4, 5, 6,
10196
OPC_CheckPredicate, 46,
10200
OPC_CheckType, MVT::i32,
10201
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10202
OPC_EmitMergeInputChains, 1, 0,
10203
OPC_MorphNodeTo, TARGET_OPCODE(X86::GS_MOV32rm), 0|OPFL_Chain|OPFL_MemRefs,
10204
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10206
OPC_CheckPredicate, 47,
10210
OPC_CheckType, MVT::i32,
10211
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10212
OPC_EmitMergeInputChains, 1, 0,
10213
OPC_MorphNodeTo, TARGET_OPCODE(X86::FS_MOV32rm), 0|OPFL_Chain|OPFL_MemRefs,
10214
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10216
OPC_CheckPredicate, 46,
10220
OPC_CheckType, MVT::i64,
10221
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10222
OPC_EmitMergeInputChains, 1, 0,
10223
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64GSrm), 0|OPFL_Chain|OPFL_MemRefs,
10224
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10226
OPC_CheckPredicate, 47,
10230
OPC_CheckType, MVT::i64,
10231
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10232
OPC_EmitMergeInputChains, 1, 0,
10233
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64FSrm), 0|OPFL_Chain|OPFL_MemRefs,
10234
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10236
OPC_CheckPredicate, 10,
10240
OPC_SwitchType , 20, MVT::f32,
10241
OPC_CheckPatternPredicate, 6,
10242
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10243
OPC_EmitMergeInputChains, 1, 0,
10244
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp32m), 0|OPFL_Chain|OPFL_MemRefs,
10245
1, MVT::f32, 5, 2, 3, 4, 5, 6,
10247
OPC_CheckPatternPredicate, 7,
10248
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10249
OPC_EmitMergeInputChains, 1, 0,
10250
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp64m), 0|OPFL_Chain|OPFL_MemRefs,
10251
1, MVT::f64, 5, 2, 3, 4, 5, 6,
10253
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10254
OPC_EmitMergeInputChains, 1, 0,
10255
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp80m), 0|OPFL_Chain|OPFL_MemRefs,
10256
1, MVT::f80, 5, 2, 3, 4, 5, 6,
10260
OPC_CheckPredicate, 48,
10262
OPC_CheckPredicate, 49,
10266
OPC_CheckType, MVT::f64,
10267
OPC_CheckPatternPredicate, 7,
10268
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10269
OPC_EmitMergeInputChains, 1, 0,
10270
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp32m64), 0|OPFL_Chain|OPFL_MemRefs,
10271
1, MVT::f64, 5, 2, 3, 4, 5, 6,
10273
OPC_CheckPredicate, 50,
10277
OPC_CheckType, MVT::f80,
10278
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10279
OPC_EmitMergeInputChains, 1, 0,
10280
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp64m80), 0|OPFL_Chain|OPFL_MemRefs,
10281
1, MVT::f80, 5, 2, 3, 4, 5, 6,
10283
OPC_CheckPredicate, 49,
10287
OPC_CheckType, MVT::f80,
10288
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10289
OPC_EmitMergeInputChains, 1, 0,
10290
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp32m80), 0|OPFL_Chain|OPFL_MemRefs,
10291
1, MVT::f80, 5, 2, 3, 4, 5, 6,
10294
OPC_CheckPredicate, 9,
10295
OPC_CheckPredicate, 10,
10299
OPC_CheckType, MVT::i8,
10300
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10301
OPC_EmitMergeInputChains, 1, 0,
10302
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV8rm), 0|OPFL_Chain|OPFL_MemRefs,
10303
1, MVT::i8, 5, 2, 3, 4, 5, 6,
10305
OPC_CheckPredicate, 6,
10309
OPC_CheckType, MVT::i16,
10310
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10311
OPC_EmitMergeInputChains, 1, 0,
10312
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV16rm), 0|OPFL_Chain|OPFL_MemRefs,
10313
1, MVT::i16, 5, 2, 3, 4, 5, 6,
10315
OPC_CheckPredicate, 5,
10319
OPC_CheckType, MVT::i32,
10320
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10321
OPC_EmitMergeInputChains, 1, 0,
10322
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32rm), 0|OPFL_Chain|OPFL_MemRefs,
10323
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10325
OPC_CheckPredicate, 51,
10327
OPC_CheckPredicate, 52,
10331
OPC_SwitchType , 18, MVT::i16,
10332
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10333
OPC_EmitMergeInputChains, 1, 0,
10334
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX16rm8), 0|OPFL_Chain|OPFL_MemRefs,
10335
1, MVT::i16, 5, 2, 3, 4, 5, 6,
10337
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10338
OPC_EmitMergeInputChains, 1, 0,
10339
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX32rm8), 0|OPFL_Chain|OPFL_MemRefs,
10340
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10343
OPC_CheckPredicate, 53,
10347
OPC_CheckType, MVT::i32,
10348
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10349
OPC_EmitMergeInputChains, 1, 0,
10350
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX32rm16), 0|OPFL_Chain|OPFL_MemRefs,
10351
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10354
OPC_CheckPredicate, 54,
10356
OPC_CheckPredicate, 55,
10360
OPC_SwitchType , 18, MVT::i16,
10361
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10362
OPC_EmitMergeInputChains, 1, 0,
10363
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX16rm8), 0|OPFL_Chain|OPFL_MemRefs,
10364
1, MVT::i16, 5, 2, 3, 4, 5, 6,
10366
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10367
OPC_EmitMergeInputChains, 1, 0,
10368
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rm8), 0|OPFL_Chain|OPFL_MemRefs,
10369
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10372
OPC_CheckPredicate, 56,
10376
OPC_CheckType, MVT::i32,
10377
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10378
OPC_EmitMergeInputChains, 1, 0,
10379
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rm16), 0|OPFL_Chain|OPFL_MemRefs,
10380
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10382
OPC_CheckPredicate, 57,
10386
OPC_SwitchType , 18, MVT::i8,
10387
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10388
OPC_EmitMergeInputChains, 1, 0,
10389
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV8rm), 0|OPFL_Chain|OPFL_MemRefs,
10390
1, MVT::i8, 5, 2, 3, 4, 5, 6,
10392
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10393
OPC_EmitMergeInputChains, 1, 0,
10394
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX16rm8), 0|OPFL_Chain|OPFL_MemRefs,
10395
1, MVT::i16, 5, 2, 3, 4, 5, 6,
10397
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10398
OPC_EmitMergeInputChains, 1, 0,
10399
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rm8), 0|OPFL_Chain|OPFL_MemRefs,
10400
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10404
OPC_CheckPredicate, 48,
10406
OPC_CheckPredicate, 58,
10410
OPC_SwitchType , 18, MVT::i8,
10411
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10412
OPC_EmitMergeInputChains, 1, 0,
10413
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV8rm), 0|OPFL_Chain|OPFL_MemRefs,
10414
1, MVT::i8, 5, 2, 3, 4, 5, 6,
10416
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10417
OPC_EmitMergeInputChains, 1, 0,
10418
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX16rm8), 0|OPFL_Chain|OPFL_MemRefs,
10419
1, MVT::i16, 5, 2, 3, 4, 5, 6,
10421
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10422
OPC_EmitMergeInputChains, 1, 0,
10423
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rm8), 0|OPFL_Chain|OPFL_MemRefs,
10424
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10427
OPC_CheckPredicate, 59,
10431
OPC_SwitchType , 18, MVT::i16,
10432
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10433
OPC_EmitMergeInputChains, 1, 0,
10434
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX16rm8), 0|OPFL_Chain|OPFL_MemRefs,
10435
1, MVT::i16, 5, 2, 3, 4, 5, 6,
10437
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10438
OPC_EmitMergeInputChains, 1, 0,
10439
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rm8), 0|OPFL_Chain|OPFL_MemRefs,
10440
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10443
OPC_CheckPredicate, 60,
10447
OPC_CheckType, MVT::i32,
10448
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10449
OPC_EmitMergeInputChains, 1, 0,
10450
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rm16), 0|OPFL_Chain|OPFL_MemRefs,
10451
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10454
OPC_CheckPredicate, 51,
10455
OPC_CheckPredicate, 53,
10459
OPC_CheckType, MVT::i32,
10460
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10461
OPC_EmitMergeInputChains, 1, 0,
10462
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX32rm16), 0|OPFL_Chain|OPFL_MemRefs,
10463
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10465
OPC_CheckPredicate, 54,
10466
OPC_CheckPredicate, 56,
10470
OPC_CheckType, MVT::i32,
10471
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10472
OPC_EmitMergeInputChains, 1, 0,
10473
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rm16), 0|OPFL_Chain|OPFL_MemRefs,
10474
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10476
OPC_CheckPredicate, 48,
10477
OPC_CheckPredicate, 60,
10481
OPC_CheckType, MVT::i32,
10482
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10483
OPC_EmitMergeInputChains, 1, 0,
10484
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rm16), 0|OPFL_Chain|OPFL_MemRefs,
10485
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10487
OPC_CheckPredicate, 9,
10491
OPC_CheckType, MVT::i64,
10492
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10493
OPC_EmitMergeInputChains, 1, 0,
10494
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64rm), 0|OPFL_Chain|OPFL_MemRefs,
10495
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10497
OPC_CheckPredicate, 51,
10499
OPC_CheckPredicate, 52,
10503
OPC_CheckType, MVT::i64,
10504
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10505
OPC_EmitMergeInputChains, 1, 0,
10506
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX64rm8), 0|OPFL_Chain|OPFL_MemRefs,
10507
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10509
OPC_CheckPredicate, 53,
10513
OPC_CheckType, MVT::i64,
10514
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10515
OPC_EmitMergeInputChains, 1, 0,
10516
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX64rm16), 0|OPFL_Chain|OPFL_MemRefs,
10517
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10519
OPC_CheckPredicate, 61,
10523
OPC_CheckType, MVT::i64,
10524
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10525
OPC_EmitMergeInputChains, 1, 0,
10526
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX64rm32), 0|OPFL_Chain|OPFL_MemRefs,
10527
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10530
OPC_CheckPredicate, 54,
10532
OPC_CheckPredicate, 55,
10536
OPC_CheckType, MVT::i64,
10537
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10538
OPC_EmitMergeInputChains, 1, 0,
10539
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rm8), 0|OPFL_Chain|OPFL_MemRefs,
10540
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10542
OPC_CheckPredicate, 56,
10546
OPC_CheckType, MVT::i64,
10547
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10548
OPC_EmitMergeInputChains, 1, 0,
10549
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rm16), 0|OPFL_Chain|OPFL_MemRefs,
10550
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10552
OPC_CheckPredicate, 62,
10556
OPC_CheckType, MVT::i64,
10557
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10558
OPC_EmitMergeInputChains, 1, 0,
10559
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rm32), 0|OPFL_Chain|OPFL_MemRefs,
10560
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10562
OPC_CheckPredicate, 57,
10566
OPC_CheckType, MVT::i64,
10567
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10568
OPC_EmitMergeInputChains, 1, 0,
10569
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rm8), 0|OPFL_Chain|OPFL_MemRefs,
10570
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10573
OPC_CheckPredicate, 48,
10575
OPC_CheckPredicate, 58,
10579
OPC_CheckType, MVT::i64,
10580
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10581
OPC_EmitMergeInputChains, 1, 0,
10582
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rm8), 0|OPFL_Chain|OPFL_MemRefs,
10583
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10585
OPC_CheckPredicate, 59,
10589
OPC_CheckType, MVT::i64,
10590
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10591
OPC_EmitMergeInputChains, 1, 0,
10592
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rm8), 0|OPFL_Chain|OPFL_MemRefs,
10593
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10595
OPC_CheckPredicate, 60,
10599
OPC_CheckType, MVT::i64,
10600
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10601
OPC_EmitMergeInputChains, 1, 0,
10602
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rm16), 0|OPFL_Chain|OPFL_MemRefs,
10603
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10606
OPC_CheckPredicate, 51,
10607
OPC_CheckPredicate, 53,
10611
OPC_CheckType, MVT::i64,
10612
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10613
OPC_EmitMergeInputChains, 1, 0,
10614
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX64rm16), 0|OPFL_Chain|OPFL_MemRefs,
10615
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10617
OPC_CheckPredicate, 54,
10618
OPC_CheckPredicate, 56,
10622
OPC_CheckType, MVT::i64,
10623
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10624
OPC_EmitMergeInputChains, 1, 0,
10625
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rm16), 0|OPFL_Chain|OPFL_MemRefs,
10626
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10628
OPC_CheckPredicate, 48,
10629
OPC_CheckPredicate, 60,
10633
OPC_CheckType, MVT::i64,
10634
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10635
OPC_EmitMergeInputChains, 1, 0,
10636
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rm16), 0|OPFL_Chain|OPFL_MemRefs,
10637
1, MVT::i64, 5, 2, 3, 4, 5, 6,
10639
OPC_CheckPredicate, 9,
10641
OPC_CheckPredicate, 10,
10645
OPC_CheckType, MVT::f32,
10646
OPC_CheckPatternPredicate, 0,
10647
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10648
OPC_EmitMergeInputChains, 1, 0,
10649
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSSrm), 0|OPFL_Chain|OPFL_MemRefs,
10650
1, MVT::f32, 5, 2, 3, 4, 5, 6,
10652
OPC_CheckPredicate, 63,
10656
OPC_SwitchType , 20, MVT::f32,
10657
OPC_CheckPatternPredicate, 0,
10658
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10659
OPC_EmitMergeInputChains, 1, 0,
10660
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsMOVAPSrm), 0|OPFL_Chain|OPFL_MemRefs,
10661
1, MVT::f32, 5, 2, 3, 4, 5, 6,
10663
OPC_CheckPatternPredicate, 0,
10664
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10665
OPC_EmitMergeInputChains, 1, 0,
10666
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVAPSrm), 0|OPFL_Chain|OPFL_MemRefs,
10667
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
10673
OPC_CheckType, MVT::v4f32,
10674
OPC_CheckPatternPredicate, 0,
10675
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10676
OPC_EmitMergeInputChains, 1, 0,
10677
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPSrm), 0|OPFL_Chain|OPFL_MemRefs,
10678
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
10681
OPC_CheckPredicate, 48,
10682
OPC_CheckPredicate, 49,
10686
OPC_CheckType, MVT::f64,
10687
OPC_CheckPatternPredicate, 12,
10688
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10689
OPC_EmitMergeInputChains, 1, 0,
10690
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTSS2SDrm), 0|OPFL_Chain|OPFL_MemRefs,
10691
1, MVT::f64, 5, 2, 3, 4, 5, 6,
10693
OPC_CheckPredicate, 9,
10695
OPC_CheckPredicate, 63,
10699
OPC_SwitchType , 20, MVT::f64,
10700
OPC_CheckPatternPredicate, 1,
10701
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10702
OPC_EmitMergeInputChains, 1, 0,
10703
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsMOVAPDrm), 0|OPFL_Chain|OPFL_MemRefs,
10704
1, MVT::f64, 5, 2, 3, 4, 5, 6,
10706
OPC_CheckPatternPredicate, 1,
10707
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10708
OPC_EmitMergeInputChains, 1, 0,
10709
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVAPDrm), 0|OPFL_Chain|OPFL_MemRefs,
10710
1, MVT::v2f64, 5, 2, 3, 4, 5, 6,
10716
OPC_CheckType, MVT::v2f64,
10717
OPC_CheckPatternPredicate, 1,
10718
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10719
OPC_EmitMergeInputChains, 1, 0,
10720
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPDrm), 0|OPFL_Chain|OPFL_MemRefs,
10721
1, MVT::v2f64, 5, 2, 3, 4, 5, 6,
10723
OPC_CheckPredicate, 63,
10727
OPC_CheckType, MVT::v4i32,
10728
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10729
OPC_EmitMergeInputChains, 1, 0,
10730
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVAPSrm), 0|OPFL_Chain|OPFL_MemRefs,
10731
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
10736
OPC_CheckType, MVT::v4i32,
10737
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10738
OPC_EmitMergeInputChains, 1, 0,
10739
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPSrm), 0|OPFL_Chain|OPFL_MemRefs,
10740
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
10742
OPC_CheckPredicate, 63,
10746
OPC_CheckType, MVT::v2i64,
10747
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10748
OPC_EmitMergeInputChains, 1, 0,
10749
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVAPSrm), 0|OPFL_Chain|OPFL_MemRefs,
10750
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
10755
OPC_SwitchType , 18, MVT::v2i64,
10756
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10757
OPC_EmitMergeInputChains, 1, 0,
10758
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPSrm), 0|OPFL_Chain|OPFL_MemRefs,
10759
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
10761
OPC_CheckPatternPredicate, 8,
10762
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10763
OPC_EmitMergeInputChains, 1, 0,
10764
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ64rm), 0|OPFL_Chain|OPFL_MemRefs,
10765
1, MVT::v1i64, 5, 2, 3, 4, 5, 6,
10769
OPC_CheckPredicate, 48,
10771
OPC_CheckPredicate, 64,
10775
OPC_CheckType, MVT::i64,
10776
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10777
OPC_EmitMergeInputChains, 1, 0,
10778
OPC_EmitInteger, MVT::i64, 0,
10779
OPC_EmitNode, TARGET_OPCODE(X86::MOV32rm), 0|OPFL_Chain,
10780
1, MVT::i32, 5, 2, 3, 4, 5, 6,
10781
OPC_EmitInteger, MVT::i32, 4,
10782
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain|OPFL_MemRefs,
10783
1, MVT::i64, 3, 7, 8, 9,
10785
OPC_CheckPredicate, 49,
10789
OPC_CheckType, MVT::f64,
10790
OPC_CheckPatternPredicate, 13,
10791
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10792
OPC_EmitMergeInputChains, 1, 0,
10793
OPC_EmitNode, TARGET_OPCODE(X86::MOVSSrm), 0|OPFL_Chain,
10794
1, MVT::f32, 5, 2, 3, 4, 5, 6,
10795
OPC_EmitNode, TARGET_OPCODE(X86::CVTSS2SDrr), 0|OPFL_MemRefs,
10797
OPC_CompleteMatch, 1, 8,
10801
60, X86ISD::VZEXT_LOAD,
10804
OPC_SwitchType , 18, MVT::v2i64,
10805
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10806
OPC_EmitMergeInputChains, 1, 0,
10807
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZQI2PQIrm), 0|OPFL_Chain,
10808
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
10810
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10811
OPC_EmitMergeInputChains, 1, 0,
10812
OPC_EmitInteger, MVT::i64, 0,
10813
OPC_EmitNode, TARGET_OPCODE(X86::MOVSDrm), 0|OPFL_Chain,
10814
1, MVT::f64, 5, 2, 3, 4, 5, 6,
10815
OPC_EmitInteger, MVT::i32, 2,
10816
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
10817
1, MVT::v2f64, 3, 7, 8, 9,
10819
9|128,9|128,1, ISD::INTRINSIC_WO_CHAIN,
10821
OPC_Scope, 20|128,1,
10822
OPC_CheckInteger, 126|128,4,
10824
OPC_Scope, 0|128,1,
10826
OPC_CheckOpcode, ISD::BIT_CONVERT,
10828
OPC_SwitchOpcode , 46, X86ISD::VZEXT_MOVL,
10830
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
10832
OPC_CheckOpcode, ISD::LOAD,
10833
OPC_CheckPredicate, 4,
10834
OPC_CheckPredicate, 9,
10835
OPC_CheckPredicate, 10,
10838
OPC_CheckFoldableChainNode,
10840
OPC_CheckType, MVT::i64,
10843
OPC_CheckType, MVT::v2i64,
10846
OPC_CheckPatternPredicate, 4,
10847
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10848
OPC_EmitMergeInputChains, 1, 0,
10849
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXBWrm), 0|OPFL_Chain|OPFL_MemRefs,
10850
1, MVT::v8i16, 5, 2, 3, 4, 5, 6,
10851
41, ISD::SCALAR_TO_VECTOR,
10853
OPC_CheckOpcode, ISD::LOAD,
10854
OPC_CheckPredicate, 4,
10855
OPC_CheckPredicate, 9,
10856
OPC_CheckPredicate, 10,
10859
OPC_CheckFoldableChainNode,
10861
OPC_CheckType, MVT::i64,
10863
OPC_CheckType, MVT::v2i64,
10866
OPC_CheckPatternPredicate, 4,
10867
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10868
OPC_EmitMergeInputChains, 1, 0,
10869
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXBWrm), 0|OPFL_Chain|OPFL_MemRefs,
10870
1, MVT::v8i16, 5, 2, 3, 4, 5, 6,
10871
27, X86ISD::VZEXT_LOAD,
10873
OPC_CheckFoldableChainNode,
10875
OPC_CheckType, MVT::v2i64,
10878
OPC_CheckPatternPredicate, 4,
10879
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10880
OPC_EmitMergeInputChains, 1, 0,
10881
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXBWrm), 0|OPFL_Chain,
10882
1, MVT::v8i16, 5, 2, 3, 4, 5, 6,
10886
OPC_CheckPatternPredicate, 4,
10887
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXBWrr), 0,
10888
1, MVT::v8i16, 1, 0,
10891
OPC_CheckInteger, 0|128,5,
10893
OPC_Scope, 0|128,1,
10895
OPC_CheckOpcode, ISD::BIT_CONVERT,
10897
OPC_SwitchOpcode , 46, X86ISD::VZEXT_MOVL,
10899
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
10901
OPC_CheckOpcode, ISD::LOAD,
10902
OPC_CheckPredicate, 4,
10903
OPC_CheckPredicate, 9,
10904
OPC_CheckPredicate, 10,
10907
OPC_CheckFoldableChainNode,
10909
OPC_CheckType, MVT::i64,
10912
OPC_CheckType, MVT::v2i64,
10915
OPC_CheckPatternPredicate, 4,
10916
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10917
OPC_EmitMergeInputChains, 1, 0,
10918
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXWDrm), 0|OPFL_Chain|OPFL_MemRefs,
10919
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
10920
41, ISD::SCALAR_TO_VECTOR,
10922
OPC_CheckOpcode, ISD::LOAD,
10923
OPC_CheckPredicate, 4,
10924
OPC_CheckPredicate, 9,
10925
OPC_CheckPredicate, 10,
10928
OPC_CheckFoldableChainNode,
10930
OPC_CheckType, MVT::i64,
10932
OPC_CheckType, MVT::v2i64,
10935
OPC_CheckPatternPredicate, 4,
10936
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10937
OPC_EmitMergeInputChains, 1, 0,
10938
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXWDrm), 0|OPFL_Chain|OPFL_MemRefs,
10939
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
10940
27, X86ISD::VZEXT_LOAD,
10942
OPC_CheckFoldableChainNode,
10944
OPC_CheckType, MVT::v2i64,
10947
OPC_CheckPatternPredicate, 4,
10948
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10949
OPC_EmitMergeInputChains, 1, 0,
10950
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXWDrm), 0|OPFL_Chain,
10951
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
10955
OPC_CheckPatternPredicate, 4,
10956
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXWDrr), 0,
10957
1, MVT::v4i32, 1, 0,
10960
OPC_CheckInteger, 127|128,4,
10962
OPC_Scope, 0|128,1,
10964
OPC_CheckOpcode, ISD::BIT_CONVERT,
10966
OPC_SwitchOpcode , 46, X86ISD::VZEXT_MOVL,
10968
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
10970
OPC_CheckOpcode, ISD::LOAD,
10971
OPC_CheckPredicate, 4,
10972
OPC_CheckPredicate, 9,
10973
OPC_CheckPredicate, 10,
10976
OPC_CheckFoldableChainNode,
10978
OPC_CheckType, MVT::i64,
10981
OPC_CheckType, MVT::v2i64,
10984
OPC_CheckPatternPredicate, 4,
10985
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
10986
OPC_EmitMergeInputChains, 1, 0,
10987
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXDQrm), 0|OPFL_Chain|OPFL_MemRefs,
10988
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
10989
41, ISD::SCALAR_TO_VECTOR,
10991
OPC_CheckOpcode, ISD::LOAD,
10992
OPC_CheckPredicate, 4,
10993
OPC_CheckPredicate, 9,
10994
OPC_CheckPredicate, 10,
10997
OPC_CheckFoldableChainNode,
10999
OPC_CheckType, MVT::i64,
11001
OPC_CheckType, MVT::v2i64,
11004
OPC_CheckPatternPredicate, 4,
11005
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11006
OPC_EmitMergeInputChains, 1, 0,
11007
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXDQrm), 0|OPFL_Chain|OPFL_MemRefs,
11008
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
11009
27, X86ISD::VZEXT_LOAD,
11011
OPC_CheckFoldableChainNode,
11013
OPC_CheckType, MVT::v2i64,
11016
OPC_CheckPatternPredicate, 4,
11017
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11018
OPC_EmitMergeInputChains, 1, 0,
11019
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXDQrm), 0|OPFL_Chain,
11020
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
11024
OPC_CheckPatternPredicate, 4,
11025
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXDQrr), 0,
11026
1, MVT::v2i64, 1, 0,
11029
OPC_CheckInteger, 4|128,5,
11031
OPC_Scope, 0|128,1,
11033
OPC_CheckOpcode, ISD::BIT_CONVERT,
11035
OPC_SwitchOpcode , 46, X86ISD::VZEXT_MOVL,
11037
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
11039
OPC_CheckOpcode, ISD::LOAD,
11040
OPC_CheckPredicate, 4,
11041
OPC_CheckPredicate, 9,
11042
OPC_CheckPredicate, 10,
11045
OPC_CheckFoldableChainNode,
11047
OPC_CheckType, MVT::i64,
11050
OPC_CheckType, MVT::v2i64,
11053
OPC_CheckPatternPredicate, 4,
11054
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11055
OPC_EmitMergeInputChains, 1, 0,
11056
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXBWrm), 0|OPFL_Chain|OPFL_MemRefs,
11057
1, MVT::v8i16, 5, 2, 3, 4, 5, 6,
11058
41, ISD::SCALAR_TO_VECTOR,
11060
OPC_CheckOpcode, ISD::LOAD,
11061
OPC_CheckPredicate, 4,
11062
OPC_CheckPredicate, 9,
11063
OPC_CheckPredicate, 10,
11066
OPC_CheckFoldableChainNode,
11068
OPC_CheckType, MVT::i64,
11070
OPC_CheckType, MVT::v2i64,
11073
OPC_CheckPatternPredicate, 4,
11074
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11075
OPC_EmitMergeInputChains, 1, 0,
11076
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXBWrm), 0|OPFL_Chain|OPFL_MemRefs,
11077
1, MVT::v8i16, 5, 2, 3, 4, 5, 6,
11078
27, X86ISD::VZEXT_LOAD,
11080
OPC_CheckFoldableChainNode,
11082
OPC_CheckType, MVT::v2i64,
11085
OPC_CheckPatternPredicate, 4,
11086
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11087
OPC_EmitMergeInputChains, 1, 0,
11088
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXBWrm), 0|OPFL_Chain,
11089
1, MVT::v8i16, 5, 2, 3, 4, 5, 6,
11093
OPC_CheckPatternPredicate, 4,
11094
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXBWrr), 0,
11095
1, MVT::v8i16, 1, 0,
11098
OPC_CheckInteger, 6|128,5,
11100
OPC_Scope, 0|128,1,
11102
OPC_CheckOpcode, ISD::BIT_CONVERT,
11104
OPC_SwitchOpcode , 46, X86ISD::VZEXT_MOVL,
11106
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
11108
OPC_CheckOpcode, ISD::LOAD,
11109
OPC_CheckPredicate, 4,
11110
OPC_CheckPredicate, 9,
11111
OPC_CheckPredicate, 10,
11114
OPC_CheckFoldableChainNode,
11116
OPC_CheckType, MVT::i64,
11119
OPC_CheckType, MVT::v2i64,
11122
OPC_CheckPatternPredicate, 4,
11123
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11124
OPC_EmitMergeInputChains, 1, 0,
11125
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXWDrm), 0|OPFL_Chain|OPFL_MemRefs,
11126
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
11127
41, ISD::SCALAR_TO_VECTOR,
11129
OPC_CheckOpcode, ISD::LOAD,
11130
OPC_CheckPredicate, 4,
11131
OPC_CheckPredicate, 9,
11132
OPC_CheckPredicate, 10,
11135
OPC_CheckFoldableChainNode,
11137
OPC_CheckType, MVT::i64,
11139
OPC_CheckType, MVT::v2i64,
11142
OPC_CheckPatternPredicate, 4,
11143
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11144
OPC_EmitMergeInputChains, 1, 0,
11145
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXWDrm), 0|OPFL_Chain|OPFL_MemRefs,
11146
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
11147
27, X86ISD::VZEXT_LOAD,
11149
OPC_CheckFoldableChainNode,
11151
OPC_CheckType, MVT::v2i64,
11154
OPC_CheckPatternPredicate, 4,
11155
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11156
OPC_EmitMergeInputChains, 1, 0,
11157
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXWDrm), 0|OPFL_Chain,
11158
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
11162
OPC_CheckPatternPredicate, 4,
11163
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXWDrr), 0,
11164
1, MVT::v4i32, 1, 0,
11167
OPC_CheckInteger, 5|128,5,
11169
OPC_Scope, 0|128,1,
11171
OPC_CheckOpcode, ISD::BIT_CONVERT,
11173
OPC_SwitchOpcode , 46, X86ISD::VZEXT_MOVL,
11175
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
11177
OPC_CheckOpcode, ISD::LOAD,
11178
OPC_CheckPredicate, 4,
11179
OPC_CheckPredicate, 9,
11180
OPC_CheckPredicate, 10,
11183
OPC_CheckFoldableChainNode,
11185
OPC_CheckType, MVT::i64,
11188
OPC_CheckType, MVT::v2i64,
11191
OPC_CheckPatternPredicate, 4,
11192
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11193
OPC_EmitMergeInputChains, 1, 0,
11194
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXDQrm), 0|OPFL_Chain|OPFL_MemRefs,
11195
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
11196
41, ISD::SCALAR_TO_VECTOR,
11198
OPC_CheckOpcode, ISD::LOAD,
11199
OPC_CheckPredicate, 4,
11200
OPC_CheckPredicate, 9,
11201
OPC_CheckPredicate, 10,
11204
OPC_CheckFoldableChainNode,
11206
OPC_CheckType, MVT::i64,
11208
OPC_CheckType, MVT::v2i64,
11211
OPC_CheckPatternPredicate, 4,
11212
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11213
OPC_EmitMergeInputChains, 1, 0,
11214
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXDQrm), 0|OPFL_Chain|OPFL_MemRefs,
11215
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
11216
27, X86ISD::VZEXT_LOAD,
11218
OPC_CheckFoldableChainNode,
11220
OPC_CheckType, MVT::v2i64,
11223
OPC_CheckPatternPredicate, 4,
11224
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11225
OPC_EmitMergeInputChains, 1, 0,
11226
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXDQrm), 0|OPFL_Chain,
11227
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
11231
OPC_CheckPatternPredicate, 4,
11232
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXDQrr), 0,
11233
1, MVT::v2i64, 1, 0,
11236
OPC_CheckInteger, 124|128,4,
11240
OPC_CheckOpcode, ISD::BIT_CONVERT,
11242
OPC_SwitchOpcode , 44, X86ISD::VZEXT_MOVL,
11244
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
11246
OPC_CheckOpcode, ISD::LOAD,
11247
OPC_CheckPredicate, 4,
11248
OPC_CheckPredicate, 5,
11251
OPC_CheckFoldableChainNode,
11253
OPC_CheckType, MVT::i32,
11256
OPC_CheckType, MVT::v4i32,
11259
OPC_CheckPatternPredicate, 4,
11260
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11261
OPC_EmitMergeInputChains, 1, 0,
11262
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXBDrm), 0|OPFL_Chain|OPFL_MemRefs,
11263
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
11264
39, ISD::SCALAR_TO_VECTOR,
11266
OPC_CheckOpcode, ISD::LOAD,
11267
OPC_CheckPredicate, 4,
11268
OPC_CheckPredicate, 5,
11271
OPC_CheckFoldableChainNode,
11273
OPC_CheckType, MVT::i32,
11275
OPC_CheckType, MVT::v4i32,
11278
OPC_CheckPatternPredicate, 4,
11279
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11280
OPC_EmitMergeInputChains, 1, 0,
11281
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXBDrm), 0|OPFL_Chain|OPFL_MemRefs,
11282
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
11286
OPC_CheckPatternPredicate, 4,
11287
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXBDrr), 0,
11288
1, MVT::v4i32, 1, 0,
11291
OPC_CheckInteger, 1|128,5,
11295
OPC_CheckOpcode, ISD::BIT_CONVERT,
11297
OPC_SwitchOpcode , 44, X86ISD::VZEXT_MOVL,
11299
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
11301
OPC_CheckOpcode, ISD::LOAD,
11302
OPC_CheckPredicate, 4,
11303
OPC_CheckPredicate, 5,
11306
OPC_CheckFoldableChainNode,
11308
OPC_CheckType, MVT::i32,
11311
OPC_CheckType, MVT::v4i32,
11314
OPC_CheckPatternPredicate, 4,
11315
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11316
OPC_EmitMergeInputChains, 1, 0,
11317
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXWQrm), 0|OPFL_Chain|OPFL_MemRefs,
11318
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
11319
39, ISD::SCALAR_TO_VECTOR,
11321
OPC_CheckOpcode, ISD::LOAD,
11322
OPC_CheckPredicate, 4,
11323
OPC_CheckPredicate, 5,
11326
OPC_CheckFoldableChainNode,
11328
OPC_CheckType, MVT::i32,
11330
OPC_CheckType, MVT::v4i32,
11333
OPC_CheckPatternPredicate, 4,
11334
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11335
OPC_EmitMergeInputChains, 1, 0,
11336
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXWQrm), 0|OPFL_Chain|OPFL_MemRefs,
11337
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
11341
OPC_CheckPatternPredicate, 4,
11342
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXWQrr), 0,
11343
1, MVT::v2i64, 1, 0,
11346
OPC_CheckInteger, 2|128,5,
11350
OPC_CheckOpcode, ISD::BIT_CONVERT,
11352
OPC_SwitchOpcode , 44, X86ISD::VZEXT_MOVL,
11354
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
11356
OPC_CheckOpcode, ISD::LOAD,
11357
OPC_CheckPredicate, 4,
11358
OPC_CheckPredicate, 5,
11361
OPC_CheckFoldableChainNode,
11363
OPC_CheckType, MVT::i32,
11366
OPC_CheckType, MVT::v4i32,
11369
OPC_CheckPatternPredicate, 4,
11370
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11371
OPC_EmitMergeInputChains, 1, 0,
11372
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXBDrm), 0|OPFL_Chain|OPFL_MemRefs,
11373
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
11374
39, ISD::SCALAR_TO_VECTOR,
11376
OPC_CheckOpcode, ISD::LOAD,
11377
OPC_CheckPredicate, 4,
11378
OPC_CheckPredicate, 5,
11381
OPC_CheckFoldableChainNode,
11383
OPC_CheckType, MVT::i32,
11385
OPC_CheckType, MVT::v4i32,
11388
OPC_CheckPatternPredicate, 4,
11389
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11390
OPC_EmitMergeInputChains, 1, 0,
11391
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXBDrm), 0|OPFL_Chain|OPFL_MemRefs,
11392
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
11396
OPC_CheckPatternPredicate, 4,
11397
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXBDrr), 0,
11398
1, MVT::v4i32, 1, 0,
11401
OPC_CheckInteger, 7|128,5,
11405
OPC_CheckOpcode, ISD::BIT_CONVERT,
11407
OPC_SwitchOpcode , 44, X86ISD::VZEXT_MOVL,
11409
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
11411
OPC_CheckOpcode, ISD::LOAD,
11412
OPC_CheckPredicate, 4,
11413
OPC_CheckPredicate, 5,
11416
OPC_CheckFoldableChainNode,
11418
OPC_CheckType, MVT::i32,
11421
OPC_CheckType, MVT::v4i32,
11424
OPC_CheckPatternPredicate, 4,
11425
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11426
OPC_EmitMergeInputChains, 1, 0,
11427
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXWQrm), 0|OPFL_Chain|OPFL_MemRefs,
11428
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
11429
39, ISD::SCALAR_TO_VECTOR,
11431
OPC_CheckOpcode, ISD::LOAD,
11432
OPC_CheckPredicate, 4,
11433
OPC_CheckPredicate, 5,
11436
OPC_CheckFoldableChainNode,
11438
OPC_CheckType, MVT::i32,
11440
OPC_CheckType, MVT::v4i32,
11443
OPC_CheckPatternPredicate, 4,
11444
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11445
OPC_EmitMergeInputChains, 1, 0,
11446
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXWQrm), 0|OPFL_Chain|OPFL_MemRefs,
11447
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
11451
OPC_CheckPatternPredicate, 4,
11452
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXWQrr), 0,
11453
1, MVT::v2i64, 1, 0,
11456
OPC_CheckInteger, 125|128,4,
11460
OPC_CheckOpcode, ISD::BIT_CONVERT,
11462
OPC_SwitchOpcode , 44, X86ISD::VZEXT_MOVL,
11464
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
11466
OPC_CheckOpcode, ISD::LOAD,
11467
OPC_CheckPredicate, 4,
11468
OPC_CheckPredicate, 5,
11471
OPC_CheckFoldableChainNode,
11473
OPC_CheckType, MVT::i32,
11476
OPC_CheckType, MVT::v4i32,
11479
OPC_CheckPatternPredicate, 4,
11480
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11481
OPC_EmitMergeInputChains, 1, 0,
11482
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXBQrm), 0|OPFL_Chain|OPFL_MemRefs,
11483
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
11484
39, ISD::SCALAR_TO_VECTOR,
11486
OPC_CheckOpcode, ISD::LOAD,
11487
OPC_CheckPredicate, 4,
11488
OPC_CheckPredicate, 65,
11491
OPC_CheckFoldableChainNode,
11493
OPC_CheckType, MVT::i32,
11495
OPC_CheckType, MVT::v4i32,
11498
OPC_CheckPatternPredicate, 4,
11499
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11500
OPC_EmitMergeInputChains, 1, 0,
11501
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXBQrm), 0|OPFL_Chain|OPFL_MemRefs,
11502
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
11506
OPC_CheckPatternPredicate, 4,
11507
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVSXBQrr), 0,
11508
1, MVT::v2i64, 1, 0,
11511
OPC_CheckInteger, 3|128,5,
11515
OPC_CheckOpcode, ISD::BIT_CONVERT,
11517
OPC_SwitchOpcode , 44, X86ISD::VZEXT_MOVL,
11519
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
11521
OPC_CheckOpcode, ISD::LOAD,
11522
OPC_CheckPredicate, 4,
11523
OPC_CheckPredicate, 5,
11526
OPC_CheckFoldableChainNode,
11528
OPC_CheckType, MVT::i32,
11531
OPC_CheckType, MVT::v4i32,
11534
OPC_CheckPatternPredicate, 4,
11535
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11536
OPC_EmitMergeInputChains, 1, 0,
11537
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXBQrm), 0|OPFL_Chain|OPFL_MemRefs,
11538
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
11539
39, ISD::SCALAR_TO_VECTOR,
11541
OPC_CheckOpcode, ISD::LOAD,
11542
OPC_CheckPredicate, 4,
11543
OPC_CheckPredicate, 65,
11546
OPC_CheckFoldableChainNode,
11548
OPC_CheckType, MVT::i32,
11550
OPC_CheckType, MVT::v4i32,
11553
OPC_CheckPatternPredicate, 4,
11554
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11555
OPC_EmitMergeInputChains, 1, 0,
11556
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXBQrm), 0|OPFL_Chain|OPFL_MemRefs,
11557
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
11561
OPC_CheckPatternPredicate, 4,
11562
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVZXBQrr), 0,
11563
1, MVT::v2i64, 1, 0,
11566
OPC_CheckInteger, 99|128,4,
11571
OPC_CheckOpcode, ISD::BIT_CONVERT,
11573
OPC_CheckOpcode, ISD::LOAD,
11574
OPC_CheckPredicate, 4,
11575
OPC_CheckPredicate, 9,
11576
OPC_CheckPredicate, 24,
11579
OPC_CheckFoldableChainNode,
11581
OPC_CheckType, MVT::v16i8,
11586
OPC_CheckOpcode, ISD::Constant,
11588
OPC_CheckPatternPredicate, 4,
11589
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
11590
OPC_EmitMergeInputChains, 1, 1,
11591
OPC_EmitConvertToTarget, 3,
11592
OPC_MorphNodeTo, TARGET_OPCODE(X86::BLENDPSrmi), 0|OPFL_Chain|OPFL_MemRefs,
11593
1, MVT::v4f32, 7, 0, 4, 5, 6, 7, 8, 9,
11598
OPC_CheckOpcode, ISD::Constant,
11600
OPC_CheckPatternPredicate, 4,
11601
OPC_EmitConvertToTarget, 2,
11602
OPC_MorphNodeTo, TARGET_OPCODE(X86::BLENDPSrri), 0,
11603
1, MVT::v4f32, 3, 0, 1, 3,
11606
OPC_CheckInteger, 98|128,4,
11611
OPC_CheckOpcode, ISD::BIT_CONVERT,
11613
OPC_CheckOpcode, ISD::LOAD,
11614
OPC_CheckPredicate, 4,
11615
OPC_CheckPredicate, 9,
11616
OPC_CheckPredicate, 24,
11619
OPC_CheckFoldableChainNode,
11621
OPC_CheckType, MVT::v16i8,
11626
OPC_CheckOpcode, ISD::Constant,
11628
OPC_CheckPatternPredicate, 4,
11629
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
11630
OPC_EmitMergeInputChains, 1, 1,
11631
OPC_EmitConvertToTarget, 3,
11632
OPC_MorphNodeTo, TARGET_OPCODE(X86::BLENDPDrmi), 0|OPFL_Chain|OPFL_MemRefs,
11633
1, MVT::v2f64, 7, 0, 4, 5, 6, 7, 8, 9,
11638
OPC_CheckOpcode, ISD::Constant,
11640
OPC_CheckPatternPredicate, 4,
11641
OPC_EmitConvertToTarget, 2,
11642
OPC_MorphNodeTo, TARGET_OPCODE(X86::BLENDPDrri), 0,
11643
1, MVT::v2f64, 3, 0, 1, 3,
11646
OPC_CheckInteger, 110|128,4,
11651
OPC_CheckOpcode, ISD::BIT_CONVERT,
11653
OPC_CheckOpcode, ISD::LOAD,
11654
OPC_CheckPredicate, 4,
11655
OPC_CheckPredicate, 9,
11656
OPC_CheckPredicate, 24,
11659
OPC_CheckFoldableChainNode,
11661
OPC_CheckType, MVT::v16i8,
11666
OPC_CheckOpcode, ISD::Constant,
11668
OPC_CheckPatternPredicate, 4,
11669
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
11670
OPC_EmitMergeInputChains, 1, 1,
11671
OPC_EmitConvertToTarget, 3,
11672
OPC_MorphNodeTo, TARGET_OPCODE(X86::PBLENDWrmi), 0|OPFL_Chain|OPFL_MemRefs,
11673
1, MVT::v8i16, 7, 0, 4, 5, 6, 7, 8, 9,
11678
OPC_CheckOpcode, ISD::Constant,
11680
OPC_CheckPatternPredicate, 4,
11681
OPC_EmitConvertToTarget, 2,
11682
OPC_MorphNodeTo, TARGET_OPCODE(X86::PBLENDWrri), 0,
11683
1, MVT::v8i16, 3, 0, 1, 3,
11686
OPC_CheckInteger, 103|128,4,
11691
OPC_CheckOpcode, ISD::BIT_CONVERT,
11693
OPC_CheckOpcode, ISD::LOAD,
11694
OPC_CheckPredicate, 4,
11695
OPC_CheckPredicate, 9,
11696
OPC_CheckPredicate, 24,
11699
OPC_CheckFoldableChainNode,
11701
OPC_CheckType, MVT::v16i8,
11706
OPC_CheckOpcode, ISD::Constant,
11708
OPC_CheckPatternPredicate, 4,
11709
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
11710
OPC_EmitMergeInputChains, 1, 1,
11711
OPC_EmitConvertToTarget, 3,
11712
OPC_MorphNodeTo, TARGET_OPCODE(X86::DPPSrmi), 0|OPFL_Chain|OPFL_MemRefs,
11713
1, MVT::v4f32, 7, 0, 4, 5, 6, 7, 8, 9,
11716
OPC_CheckOpcode, ISD::BIT_CONVERT,
11718
OPC_CheckOpcode, ISD::LOAD,
11719
OPC_CheckPredicate, 4,
11720
OPC_CheckPredicate, 9,
11721
OPC_CheckPredicate, 24,
11724
OPC_CheckFoldableChainNode,
11726
OPC_CheckType, MVT::v16i8,
11732
OPC_CheckOpcode, ISD::Constant,
11734
OPC_CheckPatternPredicate, 4,
11735
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11736
OPC_EmitMergeInputChains, 1, 0,
11737
OPC_EmitConvertToTarget, 3,
11738
OPC_MorphNodeTo, TARGET_OPCODE(X86::DPPSrmi), 0|OPFL_Chain|OPFL_MemRefs,
11739
1, MVT::v4f32, 7, 2, 4, 5, 6, 7, 8, 9,
11745
OPC_CheckOpcode, ISD::Constant,
11747
OPC_CheckPatternPredicate, 4,
11748
OPC_EmitConvertToTarget, 2,
11749
OPC_MorphNodeTo, TARGET_OPCODE(X86::DPPSrri), 0,
11750
1, MVT::v4f32, 3, 0, 1, 3,
11753
OPC_CheckInteger, 102|128,4,
11758
OPC_CheckOpcode, ISD::BIT_CONVERT,
11760
OPC_CheckOpcode, ISD::LOAD,
11761
OPC_CheckPredicate, 4,
11762
OPC_CheckPredicate, 9,
11763
OPC_CheckPredicate, 24,
11766
OPC_CheckFoldableChainNode,
11768
OPC_CheckType, MVT::v16i8,
11773
OPC_CheckOpcode, ISD::Constant,
11775
OPC_CheckPatternPredicate, 4,
11776
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
11777
OPC_EmitMergeInputChains, 1, 1,
11778
OPC_EmitConvertToTarget, 3,
11779
OPC_MorphNodeTo, TARGET_OPCODE(X86::DPPDrmi), 0|OPFL_Chain|OPFL_MemRefs,
11780
1, MVT::v2f64, 7, 0, 4, 5, 6, 7, 8, 9,
11783
OPC_CheckOpcode, ISD::BIT_CONVERT,
11785
OPC_CheckOpcode, ISD::LOAD,
11786
OPC_CheckPredicate, 4,
11787
OPC_CheckPredicate, 9,
11788
OPC_CheckPredicate, 24,
11791
OPC_CheckFoldableChainNode,
11793
OPC_CheckType, MVT::v16i8,
11799
OPC_CheckOpcode, ISD::Constant,
11801
OPC_CheckPatternPredicate, 4,
11802
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11803
OPC_EmitMergeInputChains, 1, 0,
11804
OPC_EmitConvertToTarget, 3,
11805
OPC_MorphNodeTo, TARGET_OPCODE(X86::DPPDrmi), 0|OPFL_Chain|OPFL_MemRefs,
11806
1, MVT::v2f64, 7, 2, 4, 5, 6, 7, 8, 9,
11812
OPC_CheckOpcode, ISD::Constant,
11814
OPC_CheckPatternPredicate, 4,
11815
OPC_EmitConvertToTarget, 2,
11816
OPC_MorphNodeTo, TARGET_OPCODE(X86::DPPDrri), 0,
11817
1, MVT::v2f64, 3, 0, 1, 3,
11820
OPC_CheckInteger, 107|128,4,
11825
OPC_CheckOpcode, ISD::BIT_CONVERT,
11827
OPC_CheckOpcode, ISD::LOAD,
11828
OPC_CheckPredicate, 4,
11829
OPC_CheckPredicate, 9,
11830
OPC_CheckPredicate, 24,
11833
OPC_CheckFoldableChainNode,
11835
OPC_CheckType, MVT::v16i8,
11840
OPC_CheckOpcode, ISD::Constant,
11842
OPC_CheckPatternPredicate, 4,
11843
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
11844
OPC_EmitMergeInputChains, 1, 1,
11845
OPC_EmitConvertToTarget, 3,
11846
OPC_MorphNodeTo, TARGET_OPCODE(X86::MPSADBWrmi), 0|OPFL_Chain|OPFL_MemRefs,
11847
1, MVT::v16i8, 7, 0, 4, 5, 6, 7, 8, 9,
11850
OPC_CheckOpcode, ISD::BIT_CONVERT,
11852
OPC_CheckOpcode, ISD::LOAD,
11853
OPC_CheckPredicate, 4,
11854
OPC_CheckPredicate, 9,
11855
OPC_CheckPredicate, 24,
11858
OPC_CheckFoldableChainNode,
11860
OPC_CheckType, MVT::v16i8,
11866
OPC_CheckOpcode, ISD::Constant,
11868
OPC_CheckPatternPredicate, 4,
11869
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
11870
OPC_EmitMergeInputChains, 1, 0,
11871
OPC_EmitConvertToTarget, 3,
11872
OPC_MorphNodeTo, TARGET_OPCODE(X86::MPSADBWrmi), 0|OPFL_Chain|OPFL_MemRefs,
11873
1, MVT::v16i8, 7, 2, 4, 5, 6, 7, 8, 9,
11879
OPC_CheckOpcode, ISD::Constant,
11881
OPC_CheckPatternPredicate, 4,
11882
OPC_EmitConvertToTarget, 2,
11883
OPC_MorphNodeTo, TARGET_OPCODE(X86::MPSADBWrri), 0,
11884
1, MVT::v16i8, 3, 0, 1, 3,
11887
OPC_CheckInteger, 38|128,5,
11892
OPC_CheckOpcode, ISD::LOAD,
11893
OPC_CheckPredicate, 4,
11894
OPC_CheckPredicate, 9,
11897
OPC_CheckFoldableChainNode,
11902
OPC_CheckOpcode, ISD::Constant,
11904
OPC_CheckPatternPredicate, 0,
11905
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
11906
OPC_EmitMergeInputChains, 1, 1,
11907
OPC_EmitConvertToTarget, 3,
11908
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CMPSSrm), 0|OPFL_Chain|OPFL_MemRefs,
11909
1, MVT::v4f32, 7, 0, 4, 5, 6, 7, 8, 9,
11914
OPC_CheckOpcode, ISD::Constant,
11916
OPC_CheckPatternPredicate, 0,
11917
OPC_EmitConvertToTarget, 2,
11918
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CMPSSrr), 0,
11919
1, MVT::v4f32, 3, 0, 1, 3,
11922
OPC_CheckInteger, 37|128,5,
11927
OPC_CheckOpcode, ISD::LOAD,
11928
OPC_CheckPredicate, 4,
11929
OPC_CheckPredicate, 9,
11930
OPC_CheckPredicate, 24,
11933
OPC_CheckFoldableChainNode,
11938
OPC_CheckOpcode, ISD::Constant,
11940
OPC_CheckPatternPredicate, 0,
11941
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
11942
OPC_EmitMergeInputChains, 1, 1,
11943
OPC_EmitConvertToTarget, 3,
11944
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMPPSrmi), 0|OPFL_Chain|OPFL_MemRefs,
11945
1, MVT::v4f32, 7, 0, 4, 5, 6, 7, 8, 9,
11950
OPC_CheckOpcode, ISD::Constant,
11952
OPC_CheckPatternPredicate, 0,
11953
OPC_EmitConvertToTarget, 2,
11954
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMPPSrri), 0,
11955
1, MVT::v4f32, 3, 0, 1, 3,
11958
OPC_CheckInteger, 118|128,3,
11963
OPC_CheckOpcode, ISD::LOAD,
11964
OPC_CheckPredicate, 4,
11965
OPC_CheckPredicate, 9,
11968
OPC_CheckFoldableChainNode,
11973
OPC_CheckOpcode, ISD::Constant,
11975
OPC_CheckPatternPredicate, 1,
11976
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
11977
OPC_EmitMergeInputChains, 1, 1,
11978
OPC_EmitConvertToTarget, 3,
11979
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CMPSDrm), 0|OPFL_Chain|OPFL_MemRefs,
11980
1, MVT::v2f64, 7, 0, 4, 5, 6, 7, 8, 9,
11985
OPC_CheckOpcode, ISD::Constant,
11987
OPC_CheckPatternPredicate, 1,
11988
OPC_EmitConvertToTarget, 2,
11989
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CMPSDrr), 0,
11990
1, MVT::v2f64, 3, 0, 1, 3,
11993
OPC_CheckInteger, 126|128,3,
11997
OPC_CheckOpcode, ISD::BIT_CONVERT,
11999
OPC_CheckOpcode, ISD::LOAD,
12000
OPC_CheckPredicate, 4,
12001
OPC_CheckPredicate, 9,
12002
OPC_CheckPredicate, 24,
12005
OPC_CheckFoldableChainNode,
12007
OPC_CheckType, MVT::v2i64,
12010
OPC_CheckPatternPredicate, 1,
12011
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12012
OPC_EmitMergeInputChains, 1, 0,
12013
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTDQ2PSrm), 0|OPFL_Chain|OPFL_MemRefs,
12014
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
12017
OPC_CheckPatternPredicate, 1,
12018
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTDQ2PSrr), 0,
12019
1, MVT::v4f32, 1, 0,
12022
OPC_CheckInteger, 125|128,3,
12026
OPC_CheckOpcode, ISD::BIT_CONVERT,
12028
OPC_CheckOpcode, ISD::LOAD,
12029
OPC_CheckPredicate, 4,
12030
OPC_CheckPredicate, 9,
12031
OPC_CheckPredicate, 24,
12034
OPC_CheckFoldableChainNode,
12036
OPC_CheckType, MVT::v2i64,
12039
OPC_CheckPatternPredicate, 1,
12040
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12041
OPC_EmitMergeInputChains, 1, 0,
12042
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTDQ2PDrm), 0|OPFL_Chain|OPFL_MemRefs,
12043
1, MVT::v2f64, 5, 2, 3, 4, 5, 6,
12046
OPC_CheckPatternPredicate, 1,
12047
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTDQ2PDrr), 0,
12048
1, MVT::v2f64, 1, 0,
12051
OPC_CheckInteger, 117|128,3,
12056
OPC_CheckOpcode, ISD::LOAD,
12057
OPC_CheckPredicate, 4,
12058
OPC_CheckPredicate, 9,
12059
OPC_CheckPredicate, 24,
12062
OPC_CheckFoldableChainNode,
12067
OPC_CheckOpcode, ISD::Constant,
12069
OPC_CheckPatternPredicate, 1,
12070
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12071
OPC_EmitMergeInputChains, 1, 1,
12072
OPC_EmitConvertToTarget, 3,
12073
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMPPDrmi), 0|OPFL_Chain|OPFL_MemRefs,
12074
1, MVT::v2f64, 7, 0, 4, 5, 6, 7, 8, 9,
12079
OPC_CheckOpcode, ISD::Constant,
12081
OPC_CheckPatternPredicate, 1,
12082
OPC_EmitConvertToTarget, 2,
12083
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMPPDrri), 0,
12084
1, MVT::v2f64, 3, 0, 1, 3,
12087
OPC_CheckInteger, 31|128,4,
12092
OPC_CheckOpcode, ISD::BIT_CONVERT,
12094
OPC_CheckOpcode, ISD::LOAD,
12095
OPC_CheckPredicate, 4,
12096
OPC_CheckPredicate, 9,
12097
OPC_CheckPredicate, 24,
12100
OPC_CheckFoldableChainNode,
12102
OPC_CheckType, MVT::v2i64,
12105
OPC_CheckPatternPredicate, 1,
12106
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12107
OPC_EmitMergeInputChains, 1, 1,
12108
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDSBrm), 0|OPFL_Chain|OPFL_MemRefs,
12109
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
12112
OPC_CheckOpcode, ISD::BIT_CONVERT,
12114
OPC_CheckOpcode, ISD::LOAD,
12115
OPC_CheckPredicate, 4,
12116
OPC_CheckPredicate, 9,
12117
OPC_CheckPredicate, 24,
12120
OPC_CheckFoldableChainNode,
12122
OPC_CheckType, MVT::v2i64,
12126
OPC_CheckPatternPredicate, 1,
12127
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12128
OPC_EmitMergeInputChains, 1, 0,
12129
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDSBrm), 0|OPFL_Chain|OPFL_MemRefs,
12130
1, MVT::v16i8, 6, 2, 3, 4, 5, 6, 7,
12134
OPC_CheckPatternPredicate, 1,
12135
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDSBrr), 0,
12136
1, MVT::v16i8, 2, 0, 1,
12139
OPC_CheckInteger, 32|128,4,
12144
OPC_CheckOpcode, ISD::BIT_CONVERT,
12146
OPC_CheckOpcode, ISD::LOAD,
12147
OPC_CheckPredicate, 4,
12148
OPC_CheckPredicate, 9,
12149
OPC_CheckPredicate, 24,
12152
OPC_CheckFoldableChainNode,
12154
OPC_CheckType, MVT::v2i64,
12157
OPC_CheckPatternPredicate, 1,
12158
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12159
OPC_EmitMergeInputChains, 1, 1,
12160
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDSWrm), 0|OPFL_Chain|OPFL_MemRefs,
12161
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
12164
OPC_CheckOpcode, ISD::BIT_CONVERT,
12166
OPC_CheckOpcode, ISD::LOAD,
12167
OPC_CheckPredicate, 4,
12168
OPC_CheckPredicate, 9,
12169
OPC_CheckPredicate, 24,
12172
OPC_CheckFoldableChainNode,
12174
OPC_CheckType, MVT::v2i64,
12178
OPC_CheckPatternPredicate, 1,
12179
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12180
OPC_EmitMergeInputChains, 1, 0,
12181
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDSWrm), 0|OPFL_Chain|OPFL_MemRefs,
12182
1, MVT::v8i16, 6, 2, 3, 4, 5, 6, 7,
12186
OPC_CheckPatternPredicate, 1,
12187
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDSWrr), 0,
12188
1, MVT::v8i16, 2, 0, 1,
12191
OPC_CheckInteger, 33|128,4,
12196
OPC_CheckOpcode, ISD::BIT_CONVERT,
12198
OPC_CheckOpcode, ISD::LOAD,
12199
OPC_CheckPredicate, 4,
12200
OPC_CheckPredicate, 9,
12201
OPC_CheckPredicate, 24,
12204
OPC_CheckFoldableChainNode,
12206
OPC_CheckType, MVT::v2i64,
12209
OPC_CheckPatternPredicate, 1,
12210
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12211
OPC_EmitMergeInputChains, 1, 1,
12212
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDUSBrm), 0|OPFL_Chain|OPFL_MemRefs,
12213
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
12216
OPC_CheckOpcode, ISD::BIT_CONVERT,
12218
OPC_CheckOpcode, ISD::LOAD,
12219
OPC_CheckPredicate, 4,
12220
OPC_CheckPredicate, 9,
12221
OPC_CheckPredicate, 24,
12224
OPC_CheckFoldableChainNode,
12226
OPC_CheckType, MVT::v2i64,
12230
OPC_CheckPatternPredicate, 1,
12231
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12232
OPC_EmitMergeInputChains, 1, 0,
12233
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDUSBrm), 0|OPFL_Chain|OPFL_MemRefs,
12234
1, MVT::v16i8, 6, 2, 3, 4, 5, 6, 7,
12238
OPC_CheckPatternPredicate, 1,
12239
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDUSBrr), 0,
12240
1, MVT::v16i8, 2, 0, 1,
12243
OPC_CheckInteger, 34|128,4,
12248
OPC_CheckOpcode, ISD::BIT_CONVERT,
12250
OPC_CheckOpcode, ISD::LOAD,
12251
OPC_CheckPredicate, 4,
12252
OPC_CheckPredicate, 9,
12253
OPC_CheckPredicate, 24,
12256
OPC_CheckFoldableChainNode,
12258
OPC_CheckType, MVT::v2i64,
12261
OPC_CheckPatternPredicate, 1,
12262
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12263
OPC_EmitMergeInputChains, 1, 1,
12264
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDUSWrm), 0|OPFL_Chain|OPFL_MemRefs,
12265
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
12268
OPC_CheckOpcode, ISD::BIT_CONVERT,
12270
OPC_CheckOpcode, ISD::LOAD,
12271
OPC_CheckPredicate, 4,
12272
OPC_CheckPredicate, 9,
12273
OPC_CheckPredicate, 24,
12276
OPC_CheckFoldableChainNode,
12278
OPC_CheckType, MVT::v2i64,
12282
OPC_CheckPatternPredicate, 1,
12283
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12284
OPC_EmitMergeInputChains, 1, 0,
12285
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDUSWrm), 0|OPFL_Chain|OPFL_MemRefs,
12286
1, MVT::v8i16, 6, 2, 3, 4, 5, 6, 7,
12290
OPC_CheckPatternPredicate, 1,
12291
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDUSWrr), 0,
12292
1, MVT::v8i16, 2, 0, 1,
12295
OPC_CheckInteger, 73|128,4,
12300
OPC_CheckOpcode, ISD::BIT_CONVERT,
12302
OPC_CheckOpcode, ISD::LOAD,
12303
OPC_CheckPredicate, 4,
12304
OPC_CheckPredicate, 9,
12305
OPC_CheckPredicate, 24,
12308
OPC_CheckFoldableChainNode,
12310
OPC_CheckType, MVT::v2i64,
12313
OPC_CheckPatternPredicate, 1,
12314
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12315
OPC_EmitMergeInputChains, 1, 1,
12316
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBSBrm), 0|OPFL_Chain|OPFL_MemRefs,
12317
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
12320
OPC_CheckPatternPredicate, 1,
12321
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBSBrr), 0,
12322
1, MVT::v16i8, 2, 0, 1,
12325
OPC_CheckInteger, 74|128,4,
12330
OPC_CheckOpcode, ISD::BIT_CONVERT,
12332
OPC_CheckOpcode, ISD::LOAD,
12333
OPC_CheckPredicate, 4,
12334
OPC_CheckPredicate, 9,
12335
OPC_CheckPredicate, 24,
12338
OPC_CheckFoldableChainNode,
12340
OPC_CheckType, MVT::v2i64,
12343
OPC_CheckPatternPredicate, 1,
12344
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12345
OPC_EmitMergeInputChains, 1, 1,
12346
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBSWrm), 0|OPFL_Chain|OPFL_MemRefs,
12347
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
12350
OPC_CheckPatternPredicate, 1,
12351
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBSWrr), 0,
12352
1, MVT::v8i16, 2, 0, 1,
12355
OPC_CheckInteger, 75|128,4,
12360
OPC_CheckOpcode, ISD::BIT_CONVERT,
12362
OPC_CheckOpcode, ISD::LOAD,
12363
OPC_CheckPredicate, 4,
12364
OPC_CheckPredicate, 9,
12365
OPC_CheckPredicate, 24,
12368
OPC_CheckFoldableChainNode,
12370
OPC_CheckType, MVT::v2i64,
12373
OPC_CheckPatternPredicate, 1,
12374
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12375
OPC_EmitMergeInputChains, 1, 1,
12376
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBUSBrm), 0|OPFL_Chain|OPFL_MemRefs,
12377
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
12380
OPC_CheckPatternPredicate, 1,
12381
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBUSBrr), 0,
12382
1, MVT::v16i8, 2, 0, 1,
12385
OPC_CheckInteger, 76|128,4,
12390
OPC_CheckOpcode, ISD::BIT_CONVERT,
12392
OPC_CheckOpcode, ISD::LOAD,
12393
OPC_CheckPredicate, 4,
12394
OPC_CheckPredicate, 9,
12395
OPC_CheckPredicate, 24,
12398
OPC_CheckFoldableChainNode,
12400
OPC_CheckType, MVT::v2i64,
12403
OPC_CheckPatternPredicate, 1,
12404
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12405
OPC_EmitMergeInputChains, 1, 1,
12406
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBUSWrm), 0|OPFL_Chain|OPFL_MemRefs,
12407
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
12410
OPC_CheckPatternPredicate, 1,
12411
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBUSWrr), 0,
12412
1, MVT::v8i16, 2, 0, 1,
12415
OPC_CheckInteger, 50|128,4,
12420
OPC_CheckOpcode, ISD::BIT_CONVERT,
12422
OPC_CheckOpcode, ISD::LOAD,
12423
OPC_CheckPredicate, 4,
12424
OPC_CheckPredicate, 9,
12425
OPC_CheckPredicate, 24,
12428
OPC_CheckFoldableChainNode,
12430
OPC_CheckType, MVT::v2i64,
12433
OPC_CheckPatternPredicate, 1,
12434
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12435
OPC_EmitMergeInputChains, 1, 1,
12436
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULHUWrm), 0|OPFL_Chain|OPFL_MemRefs,
12437
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
12440
OPC_CheckOpcode, ISD::BIT_CONVERT,
12442
OPC_CheckOpcode, ISD::LOAD,
12443
OPC_CheckPredicate, 4,
12444
OPC_CheckPredicate, 9,
12445
OPC_CheckPredicate, 24,
12448
OPC_CheckFoldableChainNode,
12450
OPC_CheckType, MVT::v2i64,
12454
OPC_CheckPatternPredicate, 1,
12455
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12456
OPC_EmitMergeInputChains, 1, 0,
12457
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULHUWrm), 0|OPFL_Chain|OPFL_MemRefs,
12458
1, MVT::v8i16, 6, 2, 3, 4, 5, 6, 7,
12462
OPC_CheckPatternPredicate, 1,
12463
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULHUWrr), 0,
12464
1, MVT::v8i16, 2, 0, 1,
12467
OPC_CheckInteger, 49|128,4,
12472
OPC_CheckOpcode, ISD::BIT_CONVERT,
12474
OPC_CheckOpcode, ISD::LOAD,
12475
OPC_CheckPredicate, 4,
12476
OPC_CheckPredicate, 9,
12477
OPC_CheckPredicate, 24,
12480
OPC_CheckFoldableChainNode,
12482
OPC_CheckType, MVT::v2i64,
12485
OPC_CheckPatternPredicate, 1,
12486
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12487
OPC_EmitMergeInputChains, 1, 1,
12488
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULHWrm), 0|OPFL_Chain|OPFL_MemRefs,
12489
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
12492
OPC_CheckOpcode, ISD::BIT_CONVERT,
12494
OPC_CheckOpcode, ISD::LOAD,
12495
OPC_CheckPredicate, 4,
12496
OPC_CheckPredicate, 9,
12497
OPC_CheckPredicate, 24,
12500
OPC_CheckFoldableChainNode,
12502
OPC_CheckType, MVT::v2i64,
12506
OPC_CheckPatternPredicate, 1,
12507
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12508
OPC_EmitMergeInputChains, 1, 0,
12509
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULHWrm), 0|OPFL_Chain|OPFL_MemRefs,
12510
1, MVT::v8i16, 6, 2, 3, 4, 5, 6, 7,
12514
OPC_CheckPatternPredicate, 1,
12515
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULHWrr), 0,
12516
1, MVT::v8i16, 2, 0, 1,
12519
OPC_CheckInteger, 51|128,4,
12524
OPC_CheckOpcode, ISD::BIT_CONVERT,
12526
OPC_CheckOpcode, ISD::LOAD,
12527
OPC_CheckPredicate, 4,
12528
OPC_CheckPredicate, 9,
12529
OPC_CheckPredicate, 24,
12532
OPC_CheckFoldableChainNode,
12534
OPC_CheckType, MVT::v2i64,
12537
OPC_CheckPatternPredicate, 1,
12538
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12539
OPC_EmitMergeInputChains, 1, 1,
12540
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULUDQrm), 0|OPFL_Chain|OPFL_MemRefs,
12541
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
12544
OPC_CheckOpcode, ISD::BIT_CONVERT,
12546
OPC_CheckOpcode, ISD::LOAD,
12547
OPC_CheckPredicate, 4,
12548
OPC_CheckPredicate, 9,
12549
OPC_CheckPredicate, 24,
12552
OPC_CheckFoldableChainNode,
12554
OPC_CheckType, MVT::v2i64,
12558
OPC_CheckPatternPredicate, 1,
12559
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12560
OPC_EmitMergeInputChains, 1, 0,
12561
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULUDQrm), 0|OPFL_Chain|OPFL_MemRefs,
12562
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
12566
OPC_CheckPatternPredicate, 1,
12567
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULUDQrr), 0,
12568
1, MVT::v2i64, 2, 0, 1,
12571
OPC_CheckInteger, 43|128,4,
12576
OPC_CheckOpcode, ISD::BIT_CONVERT,
12578
OPC_CheckOpcode, ISD::LOAD,
12579
OPC_CheckPredicate, 4,
12580
OPC_CheckPredicate, 9,
12581
OPC_CheckPredicate, 24,
12584
OPC_CheckFoldableChainNode,
12586
OPC_CheckType, MVT::v2i64,
12589
OPC_CheckPatternPredicate, 1,
12590
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12591
OPC_EmitMergeInputChains, 1, 1,
12592
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMADDWDrm), 0|OPFL_Chain|OPFL_MemRefs,
12593
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
12596
OPC_CheckOpcode, ISD::BIT_CONVERT,
12598
OPC_CheckOpcode, ISD::LOAD,
12599
OPC_CheckPredicate, 4,
12600
OPC_CheckPredicate, 9,
12601
OPC_CheckPredicate, 24,
12604
OPC_CheckFoldableChainNode,
12606
OPC_CheckType, MVT::v2i64,
12610
OPC_CheckPatternPredicate, 1,
12611
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12612
OPC_EmitMergeInputChains, 1, 0,
12613
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMADDWDrm), 0|OPFL_Chain|OPFL_MemRefs,
12614
1, MVT::v4i32, 6, 2, 3, 4, 5, 6, 7,
12618
OPC_CheckPatternPredicate, 1,
12619
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMADDWDrr), 0,
12620
1, MVT::v4i32, 2, 0, 1,
12623
OPC_CheckInteger, 35|128,4,
12628
OPC_CheckOpcode, ISD::BIT_CONVERT,
12630
OPC_CheckOpcode, ISD::LOAD,
12631
OPC_CheckPredicate, 4,
12632
OPC_CheckPredicate, 9,
12633
OPC_CheckPredicate, 24,
12636
OPC_CheckFoldableChainNode,
12638
OPC_CheckType, MVT::v2i64,
12641
OPC_CheckPatternPredicate, 1,
12642
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12643
OPC_EmitMergeInputChains, 1, 1,
12644
OPC_MorphNodeTo, TARGET_OPCODE(X86::PAVGBrm), 0|OPFL_Chain|OPFL_MemRefs,
12645
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
12648
OPC_CheckOpcode, ISD::BIT_CONVERT,
12650
OPC_CheckOpcode, ISD::LOAD,
12651
OPC_CheckPredicate, 4,
12652
OPC_CheckPredicate, 9,
12653
OPC_CheckPredicate, 24,
12656
OPC_CheckFoldableChainNode,
12658
OPC_CheckType, MVT::v2i64,
12662
OPC_CheckPatternPredicate, 1,
12663
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12664
OPC_EmitMergeInputChains, 1, 0,
12665
OPC_MorphNodeTo, TARGET_OPCODE(X86::PAVGBrm), 0|OPFL_Chain|OPFL_MemRefs,
12666
1, MVT::v16i8, 6, 2, 3, 4, 5, 6, 7,
12670
OPC_CheckPatternPredicate, 1,
12671
OPC_MorphNodeTo, TARGET_OPCODE(X86::PAVGBrr), 0,
12672
1, MVT::v16i8, 2, 0, 1,
12675
OPC_CheckInteger, 36|128,4,
12680
OPC_CheckOpcode, ISD::BIT_CONVERT,
12682
OPC_CheckOpcode, ISD::LOAD,
12683
OPC_CheckPredicate, 4,
12684
OPC_CheckPredicate, 9,
12685
OPC_CheckPredicate, 24,
12688
OPC_CheckFoldableChainNode,
12690
OPC_CheckType, MVT::v2i64,
12693
OPC_CheckPatternPredicate, 1,
12694
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12695
OPC_EmitMergeInputChains, 1, 1,
12696
OPC_MorphNodeTo, TARGET_OPCODE(X86::PAVGWrm), 0|OPFL_Chain|OPFL_MemRefs,
12697
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
12700
OPC_CheckOpcode, ISD::BIT_CONVERT,
12702
OPC_CheckOpcode, ISD::LOAD,
12703
OPC_CheckPredicate, 4,
12704
OPC_CheckPredicate, 9,
12705
OPC_CheckPredicate, 24,
12708
OPC_CheckFoldableChainNode,
12710
OPC_CheckType, MVT::v2i64,
12714
OPC_CheckPatternPredicate, 1,
12715
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12716
OPC_EmitMergeInputChains, 1, 0,
12717
OPC_MorphNodeTo, TARGET_OPCODE(X86::PAVGWrm), 0|OPFL_Chain|OPFL_MemRefs,
12718
1, MVT::v8i16, 6, 2, 3, 4, 5, 6, 7,
12722
OPC_CheckPatternPredicate, 1,
12723
OPC_MorphNodeTo, TARGET_OPCODE(X86::PAVGWrr), 0,
12724
1, MVT::v8i16, 2, 0, 1,
12727
OPC_CheckInteger, 47|128,4,
12732
OPC_CheckOpcode, ISD::BIT_CONVERT,
12734
OPC_CheckOpcode, ISD::LOAD,
12735
OPC_CheckPredicate, 4,
12736
OPC_CheckPredicate, 9,
12737
OPC_CheckPredicate, 24,
12740
OPC_CheckFoldableChainNode,
12742
OPC_CheckType, MVT::v2i64,
12745
OPC_CheckPatternPredicate, 1,
12746
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12747
OPC_EmitMergeInputChains, 1, 1,
12748
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINUBrm), 0|OPFL_Chain|OPFL_MemRefs,
12749
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
12752
OPC_CheckOpcode, ISD::BIT_CONVERT,
12754
OPC_CheckOpcode, ISD::LOAD,
12755
OPC_CheckPredicate, 4,
12756
OPC_CheckPredicate, 9,
12757
OPC_CheckPredicate, 24,
12760
OPC_CheckFoldableChainNode,
12762
OPC_CheckType, MVT::v2i64,
12766
OPC_CheckPatternPredicate, 1,
12767
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12768
OPC_EmitMergeInputChains, 1, 0,
12769
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINUBrm), 0|OPFL_Chain|OPFL_MemRefs,
12770
1, MVT::v16i8, 6, 2, 3, 4, 5, 6, 7,
12774
OPC_CheckPatternPredicate, 1,
12775
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINUBrr), 0,
12776
1, MVT::v16i8, 2, 0, 1,
12779
OPC_CheckInteger, 46|128,4,
12784
OPC_CheckOpcode, ISD::BIT_CONVERT,
12786
OPC_CheckOpcode, ISD::LOAD,
12787
OPC_CheckPredicate, 4,
12788
OPC_CheckPredicate, 9,
12789
OPC_CheckPredicate, 24,
12792
OPC_CheckFoldableChainNode,
12794
OPC_CheckType, MVT::v2i64,
12797
OPC_CheckPatternPredicate, 1,
12798
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12799
OPC_EmitMergeInputChains, 1, 1,
12800
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINSWrm), 0|OPFL_Chain|OPFL_MemRefs,
12801
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
12804
OPC_CheckOpcode, ISD::BIT_CONVERT,
12806
OPC_CheckOpcode, ISD::LOAD,
12807
OPC_CheckPredicate, 4,
12808
OPC_CheckPredicate, 9,
12809
OPC_CheckPredicate, 24,
12812
OPC_CheckFoldableChainNode,
12814
OPC_CheckType, MVT::v2i64,
12818
OPC_CheckPatternPredicate, 1,
12819
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12820
OPC_EmitMergeInputChains, 1, 0,
12821
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINSWrm), 0|OPFL_Chain|OPFL_MemRefs,
12822
1, MVT::v8i16, 6, 2, 3, 4, 5, 6, 7,
12826
OPC_CheckPatternPredicate, 1,
12827
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINSWrr), 0,
12828
1, MVT::v8i16, 2, 0, 1,
12831
OPC_CheckInteger, 45|128,4,
12836
OPC_CheckOpcode, ISD::BIT_CONVERT,
12838
OPC_CheckOpcode, ISD::LOAD,
12839
OPC_CheckPredicate, 4,
12840
OPC_CheckPredicate, 9,
12841
OPC_CheckPredicate, 24,
12844
OPC_CheckFoldableChainNode,
12846
OPC_CheckType, MVT::v2i64,
12849
OPC_CheckPatternPredicate, 1,
12850
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12851
OPC_EmitMergeInputChains, 1, 1,
12852
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXUBrm), 0|OPFL_Chain|OPFL_MemRefs,
12853
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
12856
OPC_CheckOpcode, ISD::BIT_CONVERT,
12858
OPC_CheckOpcode, ISD::LOAD,
12859
OPC_CheckPredicate, 4,
12860
OPC_CheckPredicate, 9,
12861
OPC_CheckPredicate, 24,
12864
OPC_CheckFoldableChainNode,
12866
OPC_CheckType, MVT::v2i64,
12870
OPC_CheckPatternPredicate, 1,
12871
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12872
OPC_EmitMergeInputChains, 1, 0,
12873
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXUBrm), 0|OPFL_Chain|OPFL_MemRefs,
12874
1, MVT::v16i8, 6, 2, 3, 4, 5, 6, 7,
12878
OPC_CheckPatternPredicate, 1,
12879
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXUBrr), 0,
12880
1, MVT::v16i8, 2, 0, 1,
12883
OPC_CheckInteger, 44|128,4,
12888
OPC_CheckOpcode, ISD::BIT_CONVERT,
12890
OPC_CheckOpcode, ISD::LOAD,
12891
OPC_CheckPredicate, 4,
12892
OPC_CheckPredicate, 9,
12893
OPC_CheckPredicate, 24,
12896
OPC_CheckFoldableChainNode,
12898
OPC_CheckType, MVT::v2i64,
12901
OPC_CheckPatternPredicate, 1,
12902
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12903
OPC_EmitMergeInputChains, 1, 1,
12904
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXSWrm), 0|OPFL_Chain|OPFL_MemRefs,
12905
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
12908
OPC_CheckOpcode, ISD::BIT_CONVERT,
12910
OPC_CheckOpcode, ISD::LOAD,
12911
OPC_CheckPredicate, 4,
12912
OPC_CheckPredicate, 9,
12913
OPC_CheckPredicate, 24,
12916
OPC_CheckFoldableChainNode,
12918
OPC_CheckType, MVT::v2i64,
12922
OPC_CheckPatternPredicate, 1,
12923
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12924
OPC_EmitMergeInputChains, 1, 0,
12925
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXSWrm), 0|OPFL_Chain|OPFL_MemRefs,
12926
1, MVT::v8i16, 6, 2, 3, 4, 5, 6, 7,
12930
OPC_CheckPatternPredicate, 1,
12931
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXSWrr), 0,
12932
1, MVT::v8i16, 2, 0, 1,
12935
OPC_CheckInteger, 52|128,4,
12940
OPC_CheckOpcode, ISD::BIT_CONVERT,
12942
OPC_CheckOpcode, ISD::LOAD,
12943
OPC_CheckPredicate, 4,
12944
OPC_CheckPredicate, 9,
12945
OPC_CheckPredicate, 24,
12948
OPC_CheckFoldableChainNode,
12950
OPC_CheckType, MVT::v2i64,
12953
OPC_CheckPatternPredicate, 1,
12954
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
12955
OPC_EmitMergeInputChains, 1, 1,
12956
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSADBWrm), 0|OPFL_Chain|OPFL_MemRefs,
12957
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
12960
OPC_CheckOpcode, ISD::BIT_CONVERT,
12962
OPC_CheckOpcode, ISD::LOAD,
12963
OPC_CheckPredicate, 4,
12964
OPC_CheckPredicate, 9,
12965
OPC_CheckPredicate, 24,
12968
OPC_CheckFoldableChainNode,
12970
OPC_CheckType, MVT::v2i64,
12974
OPC_CheckPatternPredicate, 1,
12975
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
12976
OPC_EmitMergeInputChains, 1, 0,
12977
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSADBWrm), 0|OPFL_Chain|OPFL_MemRefs,
12978
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
12982
OPC_CheckPatternPredicate, 1,
12983
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSADBWrr), 0,
12984
1, MVT::v2i64, 2, 0, 1,
12987
OPC_CheckInteger, 57|128,4,
12992
OPC_CheckOpcode, ISD::BIT_CONVERT,
12994
OPC_CheckOpcode, ISD::LOAD,
12995
OPC_CheckPredicate, 4,
12996
OPC_CheckPredicate, 9,
12997
OPC_CheckPredicate, 24,
13000
OPC_CheckFoldableChainNode,
13002
OPC_CheckType, MVT::v2i64,
13005
OPC_CheckPatternPredicate, 1,
13006
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13007
OPC_EmitMergeInputChains, 1, 1,
13008
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSLLWrm), 0|OPFL_Chain|OPFL_MemRefs,
13009
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
13012
OPC_CheckPatternPredicate, 1,
13013
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSLLWrr), 0,
13014
1, MVT::v8i16, 2, 0, 1,
13017
OPC_CheckInteger, 53|128,4,
13022
OPC_CheckOpcode, ISD::BIT_CONVERT,
13024
OPC_CheckOpcode, ISD::LOAD,
13025
OPC_CheckPredicate, 4,
13026
OPC_CheckPredicate, 9,
13027
OPC_CheckPredicate, 24,
13030
OPC_CheckFoldableChainNode,
13032
OPC_CheckType, MVT::v2i64,
13035
OPC_CheckPatternPredicate, 1,
13036
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13037
OPC_EmitMergeInputChains, 1, 1,
13038
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSLLDrm), 0|OPFL_Chain|OPFL_MemRefs,
13039
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
13042
OPC_CheckPatternPredicate, 1,
13043
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSLLDrr), 0,
13044
1, MVT::v4i32, 2, 0, 1,
13047
OPC_CheckInteger, 56|128,4,
13052
OPC_CheckOpcode, ISD::BIT_CONVERT,
13054
OPC_CheckOpcode, ISD::LOAD,
13055
OPC_CheckPredicate, 4,
13056
OPC_CheckPredicate, 9,
13057
OPC_CheckPredicate, 24,
13060
OPC_CheckFoldableChainNode,
13062
OPC_CheckType, MVT::v2i64,
13065
OPC_CheckPatternPredicate, 1,
13066
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13067
OPC_EmitMergeInputChains, 1, 1,
13068
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSLLQrm), 0|OPFL_Chain|OPFL_MemRefs,
13069
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
13072
OPC_CheckPatternPredicate, 1,
13073
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSLLQrr), 0,
13074
1, MVT::v2i64, 2, 0, 1,
13077
OPC_CheckInteger, 69|128,4,
13082
OPC_CheckOpcode, ISD::BIT_CONVERT,
13084
OPC_CheckOpcode, ISD::LOAD,
13085
OPC_CheckPredicate, 4,
13086
OPC_CheckPredicate, 9,
13087
OPC_CheckPredicate, 24,
13090
OPC_CheckFoldableChainNode,
13092
OPC_CheckType, MVT::v2i64,
13095
OPC_CheckPatternPredicate, 1,
13096
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13097
OPC_EmitMergeInputChains, 1, 1,
13098
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRLWrm), 0|OPFL_Chain|OPFL_MemRefs,
13099
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
13102
OPC_CheckPatternPredicate, 1,
13103
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRLWrr), 0,
13104
1, MVT::v8i16, 2, 0, 1,
13107
OPC_CheckInteger, 65|128,4,
13112
OPC_CheckOpcode, ISD::BIT_CONVERT,
13114
OPC_CheckOpcode, ISD::LOAD,
13115
OPC_CheckPredicate, 4,
13116
OPC_CheckPredicate, 9,
13117
OPC_CheckPredicate, 24,
13120
OPC_CheckFoldableChainNode,
13122
OPC_CheckType, MVT::v2i64,
13125
OPC_CheckPatternPredicate, 1,
13126
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13127
OPC_EmitMergeInputChains, 1, 1,
13128
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRLDrm), 0|OPFL_Chain|OPFL_MemRefs,
13129
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
13132
OPC_CheckPatternPredicate, 1,
13133
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRLDrr), 0,
13134
1, MVT::v4i32, 2, 0, 1,
13137
OPC_CheckInteger, 68|128,4,
13142
OPC_CheckOpcode, ISD::BIT_CONVERT,
13144
OPC_CheckOpcode, ISD::LOAD,
13145
OPC_CheckPredicate, 4,
13146
OPC_CheckPredicate, 9,
13147
OPC_CheckPredicate, 24,
13150
OPC_CheckFoldableChainNode,
13152
OPC_CheckType, MVT::v2i64,
13155
OPC_CheckPatternPredicate, 1,
13156
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13157
OPC_EmitMergeInputChains, 1, 1,
13158
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRLQrm), 0|OPFL_Chain|OPFL_MemRefs,
13159
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
13162
OPC_CheckPatternPredicate, 1,
13163
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRLQrr), 0,
13164
1, MVT::v2i64, 2, 0, 1,
13167
OPC_CheckInteger, 62|128,4,
13172
OPC_CheckOpcode, ISD::BIT_CONVERT,
13174
OPC_CheckOpcode, ISD::LOAD,
13175
OPC_CheckPredicate, 4,
13176
OPC_CheckPredicate, 9,
13177
OPC_CheckPredicate, 24,
13180
OPC_CheckFoldableChainNode,
13182
OPC_CheckType, MVT::v2i64,
13185
OPC_CheckPatternPredicate, 1,
13186
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13187
OPC_EmitMergeInputChains, 1, 1,
13188
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRAWrm), 0|OPFL_Chain|OPFL_MemRefs,
13189
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
13192
OPC_CheckPatternPredicate, 1,
13193
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRAWrr), 0,
13194
1, MVT::v8i16, 2, 0, 1,
13197
OPC_CheckInteger, 61|128,4,
13202
OPC_CheckOpcode, ISD::BIT_CONVERT,
13204
OPC_CheckOpcode, ISD::LOAD,
13205
OPC_CheckPredicate, 4,
13206
OPC_CheckPredicate, 9,
13207
OPC_CheckPredicate, 24,
13210
OPC_CheckFoldableChainNode,
13212
OPC_CheckType, MVT::v2i64,
13215
OPC_CheckPatternPredicate, 1,
13216
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13217
OPC_EmitMergeInputChains, 1, 1,
13218
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRADrm), 0|OPFL_Chain|OPFL_MemRefs,
13219
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
13222
OPC_CheckPatternPredicate, 1,
13223
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRADrr), 0,
13224
1, MVT::v4i32, 2, 0, 1,
13227
OPC_CheckInteger, 37|128,4,
13232
OPC_CheckOpcode, ISD::BIT_CONVERT,
13234
OPC_CheckOpcode, ISD::LOAD,
13235
OPC_CheckPredicate, 4,
13236
OPC_CheckPredicate, 9,
13237
OPC_CheckPredicate, 24,
13240
OPC_CheckFoldableChainNode,
13242
OPC_CheckType, MVT::v2i64,
13245
OPC_CheckPatternPredicate, 1,
13246
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13247
OPC_EmitMergeInputChains, 1, 1,
13248
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQBrm), 0|OPFL_Chain|OPFL_MemRefs,
13249
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
13252
OPC_CheckPatternPredicate, 1,
13253
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQBrr), 0,
13254
1, MVT::v16i8, 2, 0, 1,
13257
OPC_CheckInteger, 39|128,4,
13262
OPC_CheckOpcode, ISD::BIT_CONVERT,
13264
OPC_CheckOpcode, ISD::LOAD,
13265
OPC_CheckPredicate, 4,
13266
OPC_CheckPredicate, 9,
13267
OPC_CheckPredicate, 24,
13270
OPC_CheckFoldableChainNode,
13272
OPC_CheckType, MVT::v2i64,
13275
OPC_CheckPatternPredicate, 1,
13276
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13277
OPC_EmitMergeInputChains, 1, 1,
13278
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQWrm), 0|OPFL_Chain|OPFL_MemRefs,
13279
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
13282
OPC_CheckPatternPredicate, 1,
13283
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQWrr), 0,
13284
1, MVT::v8i16, 2, 0, 1,
13287
OPC_CheckInteger, 38|128,4,
13292
OPC_CheckOpcode, ISD::BIT_CONVERT,
13294
OPC_CheckOpcode, ISD::LOAD,
13295
OPC_CheckPredicate, 4,
13296
OPC_CheckPredicate, 9,
13297
OPC_CheckPredicate, 24,
13300
OPC_CheckFoldableChainNode,
13302
OPC_CheckType, MVT::v2i64,
13305
OPC_CheckPatternPredicate, 1,
13306
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13307
OPC_EmitMergeInputChains, 1, 1,
13308
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQDrm), 0|OPFL_Chain|OPFL_MemRefs,
13309
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
13312
OPC_CheckPatternPredicate, 1,
13313
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQDrr), 0,
13314
1, MVT::v4i32, 2, 0, 1,
13317
OPC_CheckInteger, 40|128,4,
13322
OPC_CheckOpcode, ISD::BIT_CONVERT,
13324
OPC_CheckOpcode, ISD::LOAD,
13325
OPC_CheckPredicate, 4,
13326
OPC_CheckPredicate, 9,
13327
OPC_CheckPredicate, 24,
13330
OPC_CheckFoldableChainNode,
13332
OPC_CheckType, MVT::v2i64,
13335
OPC_CheckPatternPredicate, 1,
13336
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13337
OPC_EmitMergeInputChains, 1, 1,
13338
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTBrm), 0|OPFL_Chain|OPFL_MemRefs,
13339
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
13342
OPC_CheckPatternPredicate, 1,
13343
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTBrr), 0,
13344
1, MVT::v16i8, 2, 0, 1,
13347
OPC_CheckInteger, 42|128,4,
13352
OPC_CheckOpcode, ISD::BIT_CONVERT,
13354
OPC_CheckOpcode, ISD::LOAD,
13355
OPC_CheckPredicate, 4,
13356
OPC_CheckPredicate, 9,
13357
OPC_CheckPredicate, 24,
13360
OPC_CheckFoldableChainNode,
13362
OPC_CheckType, MVT::v2i64,
13365
OPC_CheckPatternPredicate, 1,
13366
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13367
OPC_EmitMergeInputChains, 1, 1,
13368
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTWrm), 0|OPFL_Chain|OPFL_MemRefs,
13369
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
13372
OPC_CheckPatternPredicate, 1,
13373
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTWrr), 0,
13374
1, MVT::v8i16, 2, 0, 1,
13377
OPC_CheckInteger, 41|128,4,
13382
OPC_CheckOpcode, ISD::BIT_CONVERT,
13384
OPC_CheckOpcode, ISD::LOAD,
13385
OPC_CheckPredicate, 4,
13386
OPC_CheckPredicate, 9,
13387
OPC_CheckPredicate, 24,
13390
OPC_CheckFoldableChainNode,
13392
OPC_CheckType, MVT::v2i64,
13395
OPC_CheckPatternPredicate, 1,
13396
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13397
OPC_EmitMergeInputChains, 1, 1,
13398
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTDrm), 0|OPFL_Chain|OPFL_MemRefs,
13399
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
13402
OPC_CheckPatternPredicate, 1,
13403
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTDrr), 0,
13404
1, MVT::v4i32, 2, 0, 1,
13407
OPC_CheckInteger, 29|128,4,
13412
OPC_CheckOpcode, ISD::BIT_CONVERT,
13414
OPC_CheckOpcode, ISD::LOAD,
13415
OPC_CheckPredicate, 4,
13416
OPC_CheckPredicate, 9,
13417
OPC_CheckPredicate, 24,
13420
OPC_CheckFoldableChainNode,
13422
OPC_CheckType, MVT::v2i64,
13425
OPC_CheckPatternPredicate, 1,
13426
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13427
OPC_EmitMergeInputChains, 1, 1,
13428
OPC_MorphNodeTo, TARGET_OPCODE(X86::PACKSSWBrm), 0|OPFL_Chain|OPFL_MemRefs,
13429
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
13432
OPC_CheckPatternPredicate, 1,
13433
OPC_MorphNodeTo, TARGET_OPCODE(X86::PACKSSWBrr), 0,
13434
1, MVT::v16i8, 2, 0, 1,
13437
OPC_CheckInteger, 28|128,4,
13442
OPC_CheckOpcode, ISD::BIT_CONVERT,
13444
OPC_CheckOpcode, ISD::LOAD,
13445
OPC_CheckPredicate, 4,
13446
OPC_CheckPredicate, 9,
13447
OPC_CheckPredicate, 24,
13450
OPC_CheckFoldableChainNode,
13452
OPC_CheckType, MVT::v2i64,
13455
OPC_CheckPatternPredicate, 1,
13456
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13457
OPC_EmitMergeInputChains, 1, 1,
13458
OPC_MorphNodeTo, TARGET_OPCODE(X86::PACKSSDWrm), 0|OPFL_Chain|OPFL_MemRefs,
13459
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
13462
OPC_CheckPatternPredicate, 1,
13463
OPC_MorphNodeTo, TARGET_OPCODE(X86::PACKSSDWrr), 0,
13464
1, MVT::v8i16, 2, 0, 1,
13467
OPC_CheckInteger, 30|128,4,
13472
OPC_CheckOpcode, ISD::BIT_CONVERT,
13474
OPC_CheckOpcode, ISD::LOAD,
13475
OPC_CheckPredicate, 4,
13476
OPC_CheckPredicate, 9,
13477
OPC_CheckPredicate, 24,
13480
OPC_CheckFoldableChainNode,
13482
OPC_CheckType, MVT::v2i64,
13485
OPC_CheckPatternPredicate, 1,
13486
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13487
OPC_EmitMergeInputChains, 1, 1,
13488
OPC_MorphNodeTo, TARGET_OPCODE(X86::PACKUSWBrm), 0|OPFL_Chain|OPFL_MemRefs,
13489
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
13492
OPC_CheckPatternPredicate, 1,
13493
OPC_MorphNodeTo, TARGET_OPCODE(X86::PACKUSWBrr), 0,
13494
1, MVT::v16i8, 2, 0, 1,
13497
OPC_CheckInteger, 83|128,5,
13501
OPC_CheckOpcode, ISD::BIT_CONVERT,
13503
OPC_CheckOpcode, ISD::LOAD,
13504
OPC_CheckPredicate, 4,
13505
OPC_CheckPredicate, 9,
13506
OPC_CheckPredicate, 66,
13509
OPC_CheckFoldableChainNode,
13511
OPC_CheckType, MVT::v8i8,
13514
OPC_CheckPatternPredicate, 11,
13515
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
13516
OPC_EmitMergeInputChains, 1, 0,
13517
OPC_MorphNodeTo, TARGET_OPCODE(X86::PABSBrm64), 0|OPFL_Chain|OPFL_MemRefs,
13518
1, MVT::v8i8, 5, 2, 3, 4, 5, 6,
13521
OPC_CheckPatternPredicate, 11,
13522
OPC_MorphNodeTo, TARGET_OPCODE(X86::PABSBrr64), 0,
13523
1, MVT::v8i8, 1, 0,
13526
OPC_CheckInteger, 84|128,5,
13530
OPC_CheckOpcode, ISD::BIT_CONVERT,
13532
OPC_CheckOpcode, ISD::LOAD,
13533
OPC_CheckPredicate, 4,
13534
OPC_CheckPredicate, 9,
13535
OPC_CheckPredicate, 24,
13538
OPC_CheckFoldableChainNode,
13540
OPC_CheckType, MVT::v16i8,
13543
OPC_CheckPatternPredicate, 11,
13544
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
13545
OPC_EmitMergeInputChains, 1, 0,
13546
OPC_MorphNodeTo, TARGET_OPCODE(X86::PABSBrm128), 0|OPFL_Chain|OPFL_MemRefs,
13547
1, MVT::v16i8, 5, 2, 3, 4, 5, 6,
13550
OPC_CheckPatternPredicate, 11,
13551
OPC_MorphNodeTo, TARGET_OPCODE(X86::PABSBrr128), 0,
13552
1, MVT::v16i8, 1, 0,
13555
OPC_CheckInteger, 87|128,5,
13559
OPC_CheckOpcode, ISD::BIT_CONVERT,
13561
OPC_CheckOpcode, ISD::LOAD,
13562
OPC_CheckPredicate, 4,
13563
OPC_CheckPredicate, 9,
13564
OPC_CheckPredicate, 66,
13567
OPC_CheckFoldableChainNode,
13569
OPC_CheckType, MVT::v4i16,
13572
OPC_CheckPatternPredicate, 11,
13573
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
13574
OPC_EmitMergeInputChains, 1, 0,
13575
OPC_MorphNodeTo, TARGET_OPCODE(X86::PABSWrm64), 0|OPFL_Chain|OPFL_MemRefs,
13576
1, MVT::v4i16, 5, 2, 3, 4, 5, 6,
13579
OPC_CheckPatternPredicate, 11,
13580
OPC_MorphNodeTo, TARGET_OPCODE(X86::PABSWrr64), 0,
13581
1, MVT::v4i16, 1, 0,
13584
OPC_CheckInteger, 88|128,5,
13588
OPC_CheckOpcode, ISD::BIT_CONVERT,
13590
OPC_CheckOpcode, ISD::LOAD,
13591
OPC_CheckPredicate, 4,
13592
OPC_CheckPredicate, 9,
13593
OPC_CheckPredicate, 66,
13596
OPC_CheckFoldableChainNode,
13598
OPC_CheckType, MVT::v8i16,
13601
OPC_CheckPatternPredicate, 11,
13602
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
13603
OPC_EmitMergeInputChains, 1, 0,
13604
OPC_MorphNodeTo, TARGET_OPCODE(X86::PABSWrm128), 0|OPFL_Chain|OPFL_MemRefs,
13605
1, MVT::v8i16, 5, 2, 3, 4, 5, 6,
13608
OPC_CheckPatternPredicate, 11,
13609
OPC_MorphNodeTo, TARGET_OPCODE(X86::PABSWrr128), 0,
13610
1, MVT::v8i16, 1, 0,
13613
OPC_CheckInteger, 85|128,5,
13617
OPC_CheckOpcode, ISD::BIT_CONVERT,
13619
OPC_CheckOpcode, ISD::LOAD,
13620
OPC_CheckPredicate, 4,
13621
OPC_CheckPredicate, 9,
13622
OPC_CheckPredicate, 66,
13625
OPC_CheckFoldableChainNode,
13627
OPC_CheckType, MVT::v2i32,
13630
OPC_CheckPatternPredicate, 11,
13631
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
13632
OPC_EmitMergeInputChains, 1, 0,
13633
OPC_MorphNodeTo, TARGET_OPCODE(X86::PABSDrm64), 0|OPFL_Chain|OPFL_MemRefs,
13634
1, MVT::v2i32, 5, 2, 3, 4, 5, 6,
13637
OPC_CheckPatternPredicate, 11,
13638
OPC_MorphNodeTo, TARGET_OPCODE(X86::PABSDrr64), 0,
13639
1, MVT::v2i32, 1, 0,
13642
OPC_CheckInteger, 86|128,5,
13646
OPC_CheckOpcode, ISD::BIT_CONVERT,
13648
OPC_CheckOpcode, ISD::LOAD,
13649
OPC_CheckPredicate, 4,
13650
OPC_CheckPredicate, 9,
13651
OPC_CheckPredicate, 24,
13654
OPC_CheckFoldableChainNode,
13656
OPC_CheckType, MVT::v4i32,
13659
OPC_CheckPatternPredicate, 11,
13660
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
13661
OPC_EmitMergeInputChains, 1, 0,
13662
OPC_MorphNodeTo, TARGET_OPCODE(X86::PABSDrm128), 0|OPFL_Chain|OPFL_MemRefs,
13663
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
13666
OPC_CheckPatternPredicate, 11,
13667
OPC_MorphNodeTo, TARGET_OPCODE(X86::PABSDrr128), 0,
13668
1, MVT::v4i32, 1, 0,
13671
OPC_CheckInteger, 95|128,5,
13676
OPC_CheckOpcode, ISD::BIT_CONVERT,
13678
OPC_CheckOpcode, ISD::LOAD,
13679
OPC_CheckPredicate, 4,
13680
OPC_CheckPredicate, 9,
13681
OPC_CheckPredicate, 66,
13684
OPC_CheckFoldableChainNode,
13686
OPC_CheckType, MVT::v4i16,
13689
OPC_CheckPatternPredicate, 11,
13690
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13691
OPC_EmitMergeInputChains, 1, 1,
13692
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHADDWrm64), 0|OPFL_Chain|OPFL_MemRefs,
13693
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
13696
OPC_CheckPatternPredicate, 11,
13697
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHADDWrr64), 0,
13698
1, MVT::v4i16, 2, 0, 1,
13701
OPC_CheckInteger, 96|128,5,
13706
OPC_CheckOpcode, ISD::BIT_CONVERT,
13708
OPC_CheckOpcode, ISD::LOAD,
13709
OPC_CheckPredicate, 4,
13710
OPC_CheckPredicate, 9,
13711
OPC_CheckPredicate, 66,
13714
OPC_CheckFoldableChainNode,
13716
OPC_CheckType, MVT::v8i16,
13719
OPC_CheckPatternPredicate, 11,
13720
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13721
OPC_EmitMergeInputChains, 1, 1,
13722
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHADDWrm128), 0|OPFL_Chain|OPFL_MemRefs,
13723
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
13726
OPC_CheckPatternPredicate, 11,
13727
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHADDWrr128), 0,
13728
1, MVT::v8i16, 2, 0, 1,
13731
OPC_CheckInteger, 91|128,5,
13736
OPC_CheckOpcode, ISD::BIT_CONVERT,
13738
OPC_CheckOpcode, ISD::LOAD,
13739
OPC_CheckPredicate, 4,
13740
OPC_CheckPredicate, 9,
13741
OPC_CheckPredicate, 66,
13744
OPC_CheckFoldableChainNode,
13746
OPC_CheckType, MVT::v2i32,
13749
OPC_CheckPatternPredicate, 11,
13750
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13751
OPC_EmitMergeInputChains, 1, 1,
13752
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHADDDrm64), 0|OPFL_Chain|OPFL_MemRefs,
13753
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
13756
OPC_CheckPatternPredicate, 11,
13757
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHADDDrr64), 0,
13758
1, MVT::v2i32, 2, 0, 1,
13761
OPC_CheckInteger, 92|128,5,
13766
OPC_CheckOpcode, ISD::BIT_CONVERT,
13768
OPC_CheckOpcode, ISD::LOAD,
13769
OPC_CheckPredicate, 4,
13770
OPC_CheckPredicate, 9,
13771
OPC_CheckPredicate, 24,
13774
OPC_CheckFoldableChainNode,
13776
OPC_CheckType, MVT::v4i32,
13779
OPC_CheckPatternPredicate, 11,
13780
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13781
OPC_EmitMergeInputChains, 1, 1,
13782
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHADDDrm128), 0|OPFL_Chain|OPFL_MemRefs,
13783
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
13786
OPC_CheckPatternPredicate, 11,
13787
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHADDDrr128), 0,
13788
1, MVT::v4i32, 2, 0, 1,
13791
OPC_CheckInteger, 93|128,5,
13796
OPC_CheckOpcode, ISD::BIT_CONVERT,
13798
OPC_CheckOpcode, ISD::LOAD,
13799
OPC_CheckPredicate, 4,
13800
OPC_CheckPredicate, 9,
13801
OPC_CheckPredicate, 66,
13804
OPC_CheckFoldableChainNode,
13806
OPC_CheckType, MVT::v4i16,
13809
OPC_CheckPatternPredicate, 11,
13810
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13811
OPC_EmitMergeInputChains, 1, 1,
13812
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHADDSWrm64), 0|OPFL_Chain|OPFL_MemRefs,
13813
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
13816
OPC_CheckPatternPredicate, 11,
13817
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHADDSWrr64), 0,
13818
1, MVT::v4i16, 2, 0, 1,
13821
OPC_CheckInteger, 94|128,5,
13826
OPC_CheckOpcode, ISD::BIT_CONVERT,
13828
OPC_CheckOpcode, ISD::LOAD,
13829
OPC_CheckPredicate, 4,
13830
OPC_CheckPredicate, 9,
13831
OPC_CheckPredicate, 66,
13834
OPC_CheckFoldableChainNode,
13836
OPC_CheckType, MVT::v8i16,
13839
OPC_CheckPatternPredicate, 11,
13840
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13841
OPC_EmitMergeInputChains, 1, 1,
13842
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHADDSWrm128), 0|OPFL_Chain|OPFL_MemRefs,
13843
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
13846
OPC_CheckPatternPredicate, 11,
13847
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHADDSWrr128), 0,
13848
1, MVT::v4i32, 2, 0, 1,
13851
OPC_CheckInteger, 101|128,5,
13856
OPC_CheckOpcode, ISD::BIT_CONVERT,
13858
OPC_CheckOpcode, ISD::LOAD,
13859
OPC_CheckPredicate, 4,
13860
OPC_CheckPredicate, 9,
13861
OPC_CheckPredicate, 66,
13864
OPC_CheckFoldableChainNode,
13866
OPC_CheckType, MVT::v4i16,
13869
OPC_CheckPatternPredicate, 11,
13870
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13871
OPC_EmitMergeInputChains, 1, 1,
13872
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHSUBWrm64), 0|OPFL_Chain|OPFL_MemRefs,
13873
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
13876
OPC_CheckPatternPredicate, 11,
13877
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHSUBWrr64), 0,
13878
1, MVT::v4i16, 2, 0, 1,
13881
OPC_CheckInteger, 102|128,5,
13886
OPC_CheckOpcode, ISD::BIT_CONVERT,
13888
OPC_CheckOpcode, ISD::LOAD,
13889
OPC_CheckPredicate, 4,
13890
OPC_CheckPredicate, 9,
13891
OPC_CheckPredicate, 66,
13894
OPC_CheckFoldableChainNode,
13896
OPC_CheckType, MVT::v8i16,
13899
OPC_CheckPatternPredicate, 11,
13900
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13901
OPC_EmitMergeInputChains, 1, 1,
13902
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHSUBWrm128), 0|OPFL_Chain|OPFL_MemRefs,
13903
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
13906
OPC_CheckPatternPredicate, 11,
13907
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHSUBWrr128), 0,
13908
1, MVT::v8i16, 2, 0, 1,
13911
OPC_CheckInteger, 97|128,5,
13916
OPC_CheckOpcode, ISD::BIT_CONVERT,
13918
OPC_CheckOpcode, ISD::LOAD,
13919
OPC_CheckPredicate, 4,
13920
OPC_CheckPredicate, 9,
13921
OPC_CheckPredicate, 66,
13924
OPC_CheckFoldableChainNode,
13926
OPC_CheckType, MVT::v2i32,
13929
OPC_CheckPatternPredicate, 11,
13930
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13931
OPC_EmitMergeInputChains, 1, 1,
13932
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHSUBDrm64), 0|OPFL_Chain|OPFL_MemRefs,
13933
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
13936
OPC_CheckPatternPredicate, 11,
13937
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHSUBDrr64), 0,
13938
1, MVT::v2i32, 2, 0, 1,
13941
OPC_CheckInteger, 98|128,5,
13946
OPC_CheckOpcode, ISD::BIT_CONVERT,
13948
OPC_CheckOpcode, ISD::LOAD,
13949
OPC_CheckPredicate, 4,
13950
OPC_CheckPredicate, 9,
13951
OPC_CheckPredicate, 24,
13954
OPC_CheckFoldableChainNode,
13956
OPC_CheckType, MVT::v4i32,
13959
OPC_CheckPatternPredicate, 11,
13960
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13961
OPC_EmitMergeInputChains, 1, 1,
13962
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHSUBDrm128), 0|OPFL_Chain|OPFL_MemRefs,
13963
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
13966
OPC_CheckPatternPredicate, 11,
13967
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHSUBDrr128), 0,
13968
1, MVT::v4i32, 2, 0, 1,
13971
OPC_CheckInteger, 99|128,5,
13976
OPC_CheckOpcode, ISD::BIT_CONVERT,
13978
OPC_CheckOpcode, ISD::LOAD,
13979
OPC_CheckPredicate, 4,
13980
OPC_CheckPredicate, 9,
13981
OPC_CheckPredicate, 66,
13984
OPC_CheckFoldableChainNode,
13986
OPC_CheckType, MVT::v4i16,
13989
OPC_CheckPatternPredicate, 11,
13990
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
13991
OPC_EmitMergeInputChains, 1, 1,
13992
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHSUBSWrm64), 0|OPFL_Chain|OPFL_MemRefs,
13993
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
13996
OPC_CheckPatternPredicate, 11,
13997
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHSUBSWrr64), 0,
13998
1, MVT::v4i16, 2, 0, 1,
14001
OPC_CheckInteger, 100|128,5,
14006
OPC_CheckOpcode, ISD::BIT_CONVERT,
14008
OPC_CheckOpcode, ISD::LOAD,
14009
OPC_CheckPredicate, 4,
14010
OPC_CheckPredicate, 9,
14011
OPC_CheckPredicate, 66,
14014
OPC_CheckFoldableChainNode,
14016
OPC_CheckType, MVT::v8i16,
14019
OPC_CheckPatternPredicate, 11,
14020
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14021
OPC_EmitMergeInputChains, 1, 1,
14022
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHSUBSWrm128), 0|OPFL_Chain|OPFL_MemRefs,
14023
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
14026
OPC_CheckPatternPredicate, 11,
14027
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHSUBSWrr128), 0,
14028
1, MVT::v8i16, 2, 0, 1,
14031
OPC_CheckInteger, 103|128,5,
14036
OPC_CheckOpcode, ISD::BIT_CONVERT,
14038
OPC_CheckOpcode, ISD::LOAD,
14039
OPC_CheckPredicate, 4,
14040
OPC_CheckPredicate, 9,
14041
OPC_CheckPredicate, 66,
14044
OPC_CheckFoldableChainNode,
14046
OPC_CheckType, MVT::v8i8,
14049
OPC_CheckPatternPredicate, 11,
14050
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14051
OPC_EmitMergeInputChains, 1, 1,
14052
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMADDUBSWrm64), 0|OPFL_Chain|OPFL_MemRefs,
14053
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
14056
OPC_CheckPatternPredicate, 11,
14057
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMADDUBSWrr64), 0,
14058
1, MVT::v4i16, 2, 0, 1,
14061
OPC_CheckInteger, 104|128,5,
14066
OPC_CheckOpcode, ISD::BIT_CONVERT,
14068
OPC_CheckOpcode, ISD::LOAD,
14069
OPC_CheckPredicate, 4,
14070
OPC_CheckPredicate, 9,
14071
OPC_CheckPredicate, 24,
14074
OPC_CheckFoldableChainNode,
14076
OPC_CheckType, MVT::v16i8,
14079
OPC_CheckPatternPredicate, 11,
14080
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14081
OPC_EmitMergeInputChains, 1, 1,
14082
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMADDUBSWrm128), 0|OPFL_Chain|OPFL_MemRefs,
14083
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
14086
OPC_CheckPatternPredicate, 11,
14087
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMADDUBSWrr128), 0,
14088
1, MVT::v8i16, 2, 0, 1,
14091
OPC_CheckInteger, 105|128,5,
14096
OPC_CheckOpcode, ISD::BIT_CONVERT,
14098
OPC_CheckOpcode, ISD::LOAD,
14099
OPC_CheckPredicate, 4,
14100
OPC_CheckPredicate, 9,
14101
OPC_CheckPredicate, 66,
14104
OPC_CheckFoldableChainNode,
14106
OPC_CheckType, MVT::v4i16,
14109
OPC_CheckPatternPredicate, 11,
14110
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14111
OPC_EmitMergeInputChains, 1, 1,
14112
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULHRSWrm64), 0|OPFL_Chain|OPFL_MemRefs,
14113
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
14116
OPC_CheckOpcode, ISD::BIT_CONVERT,
14118
OPC_CheckOpcode, ISD::LOAD,
14119
OPC_CheckPredicate, 4,
14120
OPC_CheckPredicate, 9,
14121
OPC_CheckPredicate, 66,
14124
OPC_CheckFoldableChainNode,
14126
OPC_CheckType, MVT::v4i16,
14130
OPC_CheckPatternPredicate, 11,
14131
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
14132
OPC_EmitMergeInputChains, 1, 0,
14133
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULHRSWrm64), 0|OPFL_Chain|OPFL_MemRefs,
14134
1, MVT::v4i16, 6, 2, 3, 4, 5, 6, 7,
14138
OPC_CheckPatternPredicate, 11,
14139
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULHRSWrr64), 0,
14140
1, MVT::v4i16, 2, 0, 1,
14143
OPC_CheckInteger, 106|128,5,
14148
OPC_CheckOpcode, ISD::BIT_CONVERT,
14150
OPC_CheckOpcode, ISD::LOAD,
14151
OPC_CheckPredicate, 4,
14152
OPC_CheckPredicate, 9,
14153
OPC_CheckPredicate, 66,
14156
OPC_CheckFoldableChainNode,
14158
OPC_CheckType, MVT::v8i16,
14161
OPC_CheckPatternPredicate, 11,
14162
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14163
OPC_EmitMergeInputChains, 1, 1,
14164
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULHRSWrm128), 0|OPFL_Chain|OPFL_MemRefs,
14165
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
14168
OPC_CheckOpcode, ISD::BIT_CONVERT,
14170
OPC_CheckOpcode, ISD::LOAD,
14171
OPC_CheckPredicate, 4,
14172
OPC_CheckPredicate, 9,
14173
OPC_CheckPredicate, 66,
14176
OPC_CheckFoldableChainNode,
14178
OPC_CheckType, MVT::v8i16,
14182
OPC_CheckPatternPredicate, 11,
14183
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
14184
OPC_EmitMergeInputChains, 1, 0,
14185
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULHRSWrm128), 0|OPFL_Chain|OPFL_MemRefs,
14186
1, MVT::v8i16, 6, 2, 3, 4, 5, 6, 7,
14190
OPC_CheckPatternPredicate, 11,
14191
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULHRSWrr128), 0,
14192
1, MVT::v8i16, 2, 0, 1,
14195
OPC_CheckInteger, 107|128,5,
14200
OPC_CheckOpcode, ISD::BIT_CONVERT,
14202
OPC_CheckOpcode, ISD::LOAD,
14203
OPC_CheckPredicate, 4,
14204
OPC_CheckPredicate, 9,
14205
OPC_CheckPredicate, 66,
14208
OPC_CheckFoldableChainNode,
14210
OPC_CheckType, MVT::v8i8,
14213
OPC_CheckPatternPredicate, 11,
14214
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14215
OPC_EmitMergeInputChains, 1, 1,
14216
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFBrm64), 0|OPFL_Chain|OPFL_MemRefs,
14217
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
14220
OPC_CheckPatternPredicate, 11,
14221
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFBrr64), 0,
14222
1, MVT::v8i8, 2, 0, 1,
14225
OPC_CheckInteger, 108|128,5,
14230
OPC_CheckOpcode, ISD::BIT_CONVERT,
14232
OPC_CheckOpcode, ISD::LOAD,
14233
OPC_CheckPredicate, 4,
14234
OPC_CheckPredicate, 9,
14235
OPC_CheckPredicate, 24,
14238
OPC_CheckFoldableChainNode,
14240
OPC_CheckType, MVT::v16i8,
14243
OPC_CheckPatternPredicate, 11,
14244
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14245
OPC_EmitMergeInputChains, 1, 1,
14246
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFBrm128), 0|OPFL_Chain|OPFL_MemRefs,
14247
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
14250
OPC_CheckPatternPredicate, 11,
14251
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFBrr128), 0,
14252
1, MVT::v16i8, 2, 0, 1,
14255
OPC_CheckInteger, 109|128,5,
14260
OPC_CheckOpcode, ISD::BIT_CONVERT,
14262
OPC_CheckOpcode, ISD::LOAD,
14263
OPC_CheckPredicate, 4,
14264
OPC_CheckPredicate, 9,
14265
OPC_CheckPredicate, 66,
14268
OPC_CheckFoldableChainNode,
14270
OPC_CheckType, MVT::v8i8,
14273
OPC_CheckPatternPredicate, 11,
14274
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14275
OPC_EmitMergeInputChains, 1, 1,
14276
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSIGNBrm64), 0|OPFL_Chain|OPFL_MemRefs,
14277
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
14280
OPC_CheckPatternPredicate, 11,
14281
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSIGNBrr64), 0,
14282
1, MVT::v8i8, 2, 0, 1,
14285
OPC_CheckInteger, 110|128,5,
14290
OPC_CheckOpcode, ISD::BIT_CONVERT,
14292
OPC_CheckOpcode, ISD::LOAD,
14293
OPC_CheckPredicate, 4,
14294
OPC_CheckPredicate, 9,
14295
OPC_CheckPredicate, 24,
14298
OPC_CheckFoldableChainNode,
14300
OPC_CheckType, MVT::v16i8,
14303
OPC_CheckPatternPredicate, 11,
14304
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14305
OPC_EmitMergeInputChains, 1, 1,
14306
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSIGNBrm128), 0|OPFL_Chain|OPFL_MemRefs,
14307
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
14310
OPC_CheckPatternPredicate, 11,
14311
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSIGNBrr128), 0,
14312
1, MVT::v16i8, 2, 0, 1,
14315
OPC_CheckInteger, 113|128,5,
14320
OPC_CheckOpcode, ISD::BIT_CONVERT,
14322
OPC_CheckOpcode, ISD::LOAD,
14323
OPC_CheckPredicate, 4,
14324
OPC_CheckPredicate, 9,
14325
OPC_CheckPredicate, 66,
14328
OPC_CheckFoldableChainNode,
14330
OPC_CheckType, MVT::v4i16,
14333
OPC_CheckPatternPredicate, 11,
14334
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14335
OPC_EmitMergeInputChains, 1, 1,
14336
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSIGNWrm64), 0|OPFL_Chain|OPFL_MemRefs,
14337
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
14340
OPC_CheckPatternPredicate, 11,
14341
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSIGNWrr64), 0,
14342
1, MVT::v4i16, 2, 0, 1,
14345
OPC_CheckInteger, 114|128,5,
14350
OPC_CheckOpcode, ISD::BIT_CONVERT,
14352
OPC_CheckOpcode, ISD::LOAD,
14353
OPC_CheckPredicate, 4,
14354
OPC_CheckPredicate, 9,
14355
OPC_CheckPredicate, 66,
14358
OPC_CheckFoldableChainNode,
14360
OPC_CheckType, MVT::v8i16,
14363
OPC_CheckPatternPredicate, 11,
14364
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14365
OPC_EmitMergeInputChains, 1, 1,
14366
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSIGNWrm128), 0|OPFL_Chain|OPFL_MemRefs,
14367
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
14370
OPC_CheckPatternPredicate, 11,
14371
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSIGNWrr128), 0,
14372
1, MVT::v8i16, 2, 0, 1,
14375
OPC_CheckInteger, 111|128,5,
14380
OPC_CheckOpcode, ISD::BIT_CONVERT,
14382
OPC_CheckOpcode, ISD::LOAD,
14383
OPC_CheckPredicate, 4,
14384
OPC_CheckPredicate, 9,
14385
OPC_CheckPredicate, 66,
14388
OPC_CheckFoldableChainNode,
14390
OPC_CheckType, MVT::v2i32,
14393
OPC_CheckPatternPredicate, 11,
14394
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14395
OPC_EmitMergeInputChains, 1, 1,
14396
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSIGNDrm64), 0|OPFL_Chain|OPFL_MemRefs,
14397
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
14400
OPC_CheckPatternPredicate, 11,
14401
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSIGNDrr64), 0,
14402
1, MVT::v2i32, 2, 0, 1,
14405
OPC_CheckInteger, 112|128,5,
14410
OPC_CheckOpcode, ISD::BIT_CONVERT,
14412
OPC_CheckOpcode, ISD::LOAD,
14413
OPC_CheckPredicate, 4,
14414
OPC_CheckPredicate, 9,
14415
OPC_CheckPredicate, 24,
14418
OPC_CheckFoldableChainNode,
14420
OPC_CheckType, MVT::v4i32,
14423
OPC_CheckPatternPredicate, 11,
14424
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14425
OPC_EmitMergeInputChains, 1, 1,
14426
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSIGNDrm128), 0|OPFL_Chain|OPFL_MemRefs,
14427
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
14430
OPC_CheckPatternPredicate, 11,
14431
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSIGNDrr128), 0,
14432
1, MVT::v4i32, 2, 0, 1,
14435
OPC_CheckInteger, 89|128,5,
14440
OPC_CheckOpcode, ISD::LOAD,
14441
OPC_CheckPredicate, 4,
14442
OPC_CheckPredicate, 9,
14443
OPC_CheckPredicate, 66,
14446
OPC_CheckFoldableChainNode,
14451
OPC_CheckOpcode, ISD::Constant,
14453
OPC_CheckPatternPredicate, 11,
14454
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14455
OPC_EmitMergeInputChains, 1, 1,
14456
OPC_EmitConvertToTarget, 3,
14457
OPC_EmitNodeXForm, 5, 9,
14458
OPC_MorphNodeTo, TARGET_OPCODE(X86::PALIGNR64rm), 0|OPFL_Chain|OPFL_MemRefs,
14459
1, MVT::v1i64, 7, 0, 4, 5, 6, 7, 8, 10,
14464
OPC_CheckOpcode, ISD::Constant,
14466
OPC_CheckPatternPredicate, 11,
14467
OPC_EmitConvertToTarget, 2,
14468
OPC_EmitNodeXForm, 5, 3,
14469
OPC_MorphNodeTo, TARGET_OPCODE(X86::PALIGNR64rr), 0,
14470
1, MVT::v1i64, 3, 0, 1, 4,
14473
OPC_CheckInteger, 90|128,5,
14478
OPC_CheckOpcode, ISD::LOAD,
14479
OPC_CheckPredicate, 4,
14480
OPC_CheckPredicate, 9,
14481
OPC_CheckPredicate, 24,
14484
OPC_CheckFoldableChainNode,
14489
OPC_CheckOpcode, ISD::Constant,
14491
OPC_CheckPatternPredicate, 11,
14492
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14493
OPC_EmitMergeInputChains, 1, 1,
14494
OPC_EmitConvertToTarget, 3,
14495
OPC_EmitNodeXForm, 5, 9,
14496
OPC_MorphNodeTo, TARGET_OPCODE(X86::PALIGNR128rm), 0|OPFL_Chain|OPFL_MemRefs,
14497
1, MVT::v2i64, 7, 0, 4, 5, 6, 7, 8, 10,
14502
OPC_CheckOpcode, ISD::Constant,
14504
OPC_CheckPatternPredicate, 11,
14505
OPC_EmitConvertToTarget, 2,
14506
OPC_EmitNodeXForm, 5, 3,
14507
OPC_MorphNodeTo, TARGET_OPCODE(X86::PALIGNR128rr), 0,
14508
1, MVT::v2i64, 3, 0, 1, 4,
14511
OPC_CheckInteger, 14|128,5,
14515
OPC_CheckOpcode, ISD::LOAD,
14516
OPC_CheckPredicate, 4,
14517
OPC_CheckPredicate, 9,
14518
OPC_CheckPredicate, 24,
14521
OPC_CheckFoldableChainNode,
14526
OPC_CheckOpcode, ISD::Constant,
14528
OPC_CheckPatternPredicate, 4,
14529
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
14530
OPC_EmitMergeInputChains, 1, 0,
14531
OPC_EmitConvertToTarget, 2,
14532
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROUNDPSm_Int), 0|OPFL_Chain|OPFL_MemRefs,
14533
1, MVT::v4f32, 6, 3, 4, 5, 6, 7, 8,
14538
OPC_CheckOpcode, ISD::Constant,
14540
OPC_CheckPatternPredicate, 4,
14541
OPC_EmitConvertToTarget, 1,
14542
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROUNDPSr_Int), 0,
14543
1, MVT::v4f32, 2, 0, 2,
14546
OPC_CheckInteger, 13|128,5,
14550
OPC_CheckOpcode, ISD::LOAD,
14551
OPC_CheckPredicate, 4,
14552
OPC_CheckPredicate, 9,
14553
OPC_CheckPredicate, 24,
14556
OPC_CheckFoldableChainNode,
14561
OPC_CheckOpcode, ISD::Constant,
14563
OPC_CheckPatternPredicate, 4,
14564
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
14565
OPC_EmitMergeInputChains, 1, 0,
14566
OPC_EmitConvertToTarget, 2,
14567
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROUNDPDm_Int), 0|OPFL_Chain|OPFL_MemRefs,
14568
1, MVT::v2f64, 6, 3, 4, 5, 6, 7, 8,
14573
OPC_CheckOpcode, ISD::Constant,
14575
OPC_CheckPatternPredicate, 4,
14576
OPC_EmitConvertToTarget, 1,
14577
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROUNDPDr_Int), 0,
14578
1, MVT::v2f64, 2, 0, 2,
14581
OPC_CheckInteger, 115|128,4,
14585
OPC_CheckOpcode, ISD::BIT_CONVERT,
14587
OPC_CheckOpcode, ISD::LOAD,
14588
OPC_CheckPredicate, 4,
14589
OPC_CheckPredicate, 9,
14590
OPC_CheckPredicate, 66,
14593
OPC_CheckFoldableChainNode,
14595
OPC_CheckType, MVT::v8i16,
14598
OPC_CheckPatternPredicate, 4,
14599
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
14600
OPC_EmitMergeInputChains, 1, 0,
14601
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHMINPOSUWrm128), 0|OPFL_Chain|OPFL_MemRefs,
14602
1, MVT::v8i16, 5, 2, 3, 4, 5, 6,
14605
OPC_CheckPatternPredicate, 4,
14606
OPC_MorphNodeTo, TARGET_OPCODE(X86::PHMINPOSUWrr128), 0,
14607
1, MVT::v8i16, 1, 0,
14610
OPC_CheckInteger, 111|128,4,
14615
OPC_CheckOpcode, ISD::BIT_CONVERT,
14617
OPC_CheckOpcode, ISD::LOAD,
14618
OPC_CheckPredicate, 4,
14619
OPC_CheckPredicate, 9,
14620
OPC_CheckPredicate, 24,
14623
OPC_CheckFoldableChainNode,
14625
OPC_CheckType, MVT::v16i8,
14628
OPC_CheckPatternPredicate, 4,
14629
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14630
OPC_EmitMergeInputChains, 1, 1,
14631
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQQrm), 0|OPFL_Chain|OPFL_MemRefs,
14632
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
14635
OPC_CheckOpcode, ISD::BIT_CONVERT,
14637
OPC_CheckOpcode, ISD::LOAD,
14638
OPC_CheckPredicate, 4,
14639
OPC_CheckPredicate, 9,
14640
OPC_CheckPredicate, 24,
14643
OPC_CheckFoldableChainNode,
14645
OPC_CheckType, MVT::v16i8,
14649
OPC_CheckPatternPredicate, 4,
14650
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
14651
OPC_EmitMergeInputChains, 1, 0,
14652
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQQrm), 0|OPFL_Chain|OPFL_MemRefs,
14653
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
14657
OPC_CheckPatternPredicate, 4,
14658
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQQrr), 0,
14659
1, MVT::v2i64, 2, 0, 1,
14662
OPC_CheckInteger, 108|128,4,
14667
OPC_CheckOpcode, ISD::BIT_CONVERT,
14669
OPC_CheckOpcode, ISD::LOAD,
14670
OPC_CheckPredicate, 4,
14671
OPC_CheckPredicate, 9,
14672
OPC_CheckPredicate, 24,
14675
OPC_CheckFoldableChainNode,
14677
OPC_CheckType, MVT::v16i8,
14680
OPC_CheckPatternPredicate, 4,
14681
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14682
OPC_EmitMergeInputChains, 1, 1,
14683
OPC_MorphNodeTo, TARGET_OPCODE(X86::PACKUSDWrm), 0|OPFL_Chain|OPFL_MemRefs,
14684
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
14687
OPC_CheckPatternPredicate, 4,
14688
OPC_MorphNodeTo, TARGET_OPCODE(X86::PACKUSDWrr), 0,
14689
1, MVT::v8i16, 2, 0, 1,
14692
OPC_CheckInteger, 120|128,4,
14697
OPC_CheckOpcode, ISD::BIT_CONVERT,
14699
OPC_CheckOpcode, ISD::LOAD,
14700
OPC_CheckPredicate, 4,
14701
OPC_CheckPredicate, 9,
14702
OPC_CheckPredicate, 24,
14705
OPC_CheckFoldableChainNode,
14707
OPC_CheckType, MVT::v16i8,
14710
OPC_CheckPatternPredicate, 4,
14711
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14712
OPC_EmitMergeInputChains, 1, 1,
14713
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINSBrm), 0|OPFL_Chain|OPFL_MemRefs,
14714
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
14717
OPC_CheckOpcode, ISD::BIT_CONVERT,
14719
OPC_CheckOpcode, ISD::LOAD,
14720
OPC_CheckPredicate, 4,
14721
OPC_CheckPredicate, 9,
14722
OPC_CheckPredicate, 24,
14725
OPC_CheckFoldableChainNode,
14727
OPC_CheckType, MVT::v16i8,
14731
OPC_CheckPatternPredicate, 4,
14732
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
14733
OPC_EmitMergeInputChains, 1, 0,
14734
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINSBrm), 0|OPFL_Chain|OPFL_MemRefs,
14735
1, MVT::v16i8, 6, 2, 3, 4, 5, 6, 7,
14739
OPC_CheckPatternPredicate, 4,
14740
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINSBrr), 0,
14741
1, MVT::v16i8, 2, 0, 1,
14744
OPC_CheckInteger, 121|128,4,
14749
OPC_CheckOpcode, ISD::BIT_CONVERT,
14751
OPC_CheckOpcode, ISD::LOAD,
14752
OPC_CheckPredicate, 4,
14753
OPC_CheckPredicate, 9,
14754
OPC_CheckPredicate, 24,
14757
OPC_CheckFoldableChainNode,
14759
OPC_CheckType, MVT::v16i8,
14762
OPC_CheckPatternPredicate, 4,
14763
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14764
OPC_EmitMergeInputChains, 1, 1,
14765
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINSDrm), 0|OPFL_Chain|OPFL_MemRefs,
14766
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
14769
OPC_CheckOpcode, ISD::BIT_CONVERT,
14771
OPC_CheckOpcode, ISD::LOAD,
14772
OPC_CheckPredicate, 4,
14773
OPC_CheckPredicate, 9,
14774
OPC_CheckPredicate, 24,
14777
OPC_CheckFoldableChainNode,
14779
OPC_CheckType, MVT::v16i8,
14783
OPC_CheckPatternPredicate, 4,
14784
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
14785
OPC_EmitMergeInputChains, 1, 0,
14786
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINSDrm), 0|OPFL_Chain|OPFL_MemRefs,
14787
1, MVT::v4i32, 6, 2, 3, 4, 5, 6, 7,
14791
OPC_CheckPatternPredicate, 4,
14792
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINSDrr), 0,
14793
1, MVT::v4i32, 2, 0, 1,
14796
OPC_CheckInteger, 122|128,4,
14801
OPC_CheckOpcode, ISD::BIT_CONVERT,
14803
OPC_CheckOpcode, ISD::LOAD,
14804
OPC_CheckPredicate, 4,
14805
OPC_CheckPredicate, 9,
14806
OPC_CheckPredicate, 24,
14809
OPC_CheckFoldableChainNode,
14811
OPC_CheckType, MVT::v16i8,
14814
OPC_CheckPatternPredicate, 4,
14815
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14816
OPC_EmitMergeInputChains, 1, 1,
14817
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINUDrm), 0|OPFL_Chain|OPFL_MemRefs,
14818
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
14821
OPC_CheckOpcode, ISD::BIT_CONVERT,
14823
OPC_CheckOpcode, ISD::LOAD,
14824
OPC_CheckPredicate, 4,
14825
OPC_CheckPredicate, 9,
14826
OPC_CheckPredicate, 24,
14829
OPC_CheckFoldableChainNode,
14831
OPC_CheckType, MVT::v16i8,
14835
OPC_CheckPatternPredicate, 4,
14836
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
14837
OPC_EmitMergeInputChains, 1, 0,
14838
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINUDrm), 0|OPFL_Chain|OPFL_MemRefs,
14839
1, MVT::v4i32, 6, 2, 3, 4, 5, 6, 7,
14843
OPC_CheckPatternPredicate, 4,
14844
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINUDrr), 0,
14845
1, MVT::v4i32, 2, 0, 1,
14848
OPC_CheckInteger, 123|128,4,
14853
OPC_CheckOpcode, ISD::BIT_CONVERT,
14855
OPC_CheckOpcode, ISD::LOAD,
14856
OPC_CheckPredicate, 4,
14857
OPC_CheckPredicate, 9,
14858
OPC_CheckPredicate, 24,
14861
OPC_CheckFoldableChainNode,
14863
OPC_CheckType, MVT::v16i8,
14866
OPC_CheckPatternPredicate, 4,
14867
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14868
OPC_EmitMergeInputChains, 1, 1,
14869
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINUWrm), 0|OPFL_Chain|OPFL_MemRefs,
14870
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
14873
OPC_CheckOpcode, ISD::BIT_CONVERT,
14875
OPC_CheckOpcode, ISD::LOAD,
14876
OPC_CheckPredicate, 4,
14877
OPC_CheckPredicate, 9,
14878
OPC_CheckPredicate, 24,
14881
OPC_CheckFoldableChainNode,
14883
OPC_CheckType, MVT::v16i8,
14887
OPC_CheckPatternPredicate, 4,
14888
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
14889
OPC_EmitMergeInputChains, 1, 0,
14890
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINUWrm), 0|OPFL_Chain|OPFL_MemRefs,
14891
1, MVT::v8i16, 6, 2, 3, 4, 5, 6, 7,
14895
OPC_CheckPatternPredicate, 4,
14896
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMINUWrr), 0,
14897
1, MVT::v8i16, 2, 0, 1,
14900
OPC_CheckInteger, 116|128,4,
14905
OPC_CheckOpcode, ISD::BIT_CONVERT,
14907
OPC_CheckOpcode, ISD::LOAD,
14908
OPC_CheckPredicate, 4,
14909
OPC_CheckPredicate, 9,
14910
OPC_CheckPredicate, 24,
14913
OPC_CheckFoldableChainNode,
14915
OPC_CheckType, MVT::v16i8,
14918
OPC_CheckPatternPredicate, 4,
14919
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14920
OPC_EmitMergeInputChains, 1, 1,
14921
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXSBrm), 0|OPFL_Chain|OPFL_MemRefs,
14922
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
14925
OPC_CheckOpcode, ISD::BIT_CONVERT,
14927
OPC_CheckOpcode, ISD::LOAD,
14928
OPC_CheckPredicate, 4,
14929
OPC_CheckPredicate, 9,
14930
OPC_CheckPredicate, 24,
14933
OPC_CheckFoldableChainNode,
14935
OPC_CheckType, MVT::v16i8,
14939
OPC_CheckPatternPredicate, 4,
14940
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
14941
OPC_EmitMergeInputChains, 1, 0,
14942
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXSBrm), 0|OPFL_Chain|OPFL_MemRefs,
14943
1, MVT::v16i8, 6, 2, 3, 4, 5, 6, 7,
14947
OPC_CheckPatternPredicate, 4,
14948
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXSBrr), 0,
14949
1, MVT::v16i8, 2, 0, 1,
14952
OPC_CheckInteger, 117|128,4,
14957
OPC_CheckOpcode, ISD::BIT_CONVERT,
14959
OPC_CheckOpcode, ISD::LOAD,
14960
OPC_CheckPredicate, 4,
14961
OPC_CheckPredicate, 9,
14962
OPC_CheckPredicate, 24,
14965
OPC_CheckFoldableChainNode,
14967
OPC_CheckType, MVT::v16i8,
14970
OPC_CheckPatternPredicate, 4,
14971
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
14972
OPC_EmitMergeInputChains, 1, 1,
14973
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXSDrm), 0|OPFL_Chain|OPFL_MemRefs,
14974
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
14977
OPC_CheckOpcode, ISD::BIT_CONVERT,
14979
OPC_CheckOpcode, ISD::LOAD,
14980
OPC_CheckPredicate, 4,
14981
OPC_CheckPredicate, 9,
14982
OPC_CheckPredicate, 24,
14985
OPC_CheckFoldableChainNode,
14987
OPC_CheckType, MVT::v16i8,
14991
OPC_CheckPatternPredicate, 4,
14992
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
14993
OPC_EmitMergeInputChains, 1, 0,
14994
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXSDrm), 0|OPFL_Chain|OPFL_MemRefs,
14995
1, MVT::v4i32, 6, 2, 3, 4, 5, 6, 7,
14999
OPC_CheckPatternPredicate, 4,
15000
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXSDrr), 0,
15001
1, MVT::v4i32, 2, 0, 1,
15004
OPC_CheckInteger, 118|128,4,
15009
OPC_CheckOpcode, ISD::BIT_CONVERT,
15011
OPC_CheckOpcode, ISD::LOAD,
15012
OPC_CheckPredicate, 4,
15013
OPC_CheckPredicate, 9,
15014
OPC_CheckPredicate, 24,
15017
OPC_CheckFoldableChainNode,
15019
OPC_CheckType, MVT::v16i8,
15022
OPC_CheckPatternPredicate, 4,
15023
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15024
OPC_EmitMergeInputChains, 1, 1,
15025
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXUDrm), 0|OPFL_Chain|OPFL_MemRefs,
15026
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
15029
OPC_CheckOpcode, ISD::BIT_CONVERT,
15031
OPC_CheckOpcode, ISD::LOAD,
15032
OPC_CheckPredicate, 4,
15033
OPC_CheckPredicate, 9,
15034
OPC_CheckPredicate, 24,
15037
OPC_CheckFoldableChainNode,
15039
OPC_CheckType, MVT::v16i8,
15043
OPC_CheckPatternPredicate, 4,
15044
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
15045
OPC_EmitMergeInputChains, 1, 0,
15046
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXUDrm), 0|OPFL_Chain|OPFL_MemRefs,
15047
1, MVT::v4i32, 6, 2, 3, 4, 5, 6, 7,
15051
OPC_CheckPatternPredicate, 4,
15052
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXUDrr), 0,
15053
1, MVT::v4i32, 2, 0, 1,
15056
OPC_CheckInteger, 119|128,4,
15061
OPC_CheckOpcode, ISD::BIT_CONVERT,
15063
OPC_CheckOpcode, ISD::LOAD,
15064
OPC_CheckPredicate, 4,
15065
OPC_CheckPredicate, 9,
15066
OPC_CheckPredicate, 24,
15069
OPC_CheckFoldableChainNode,
15071
OPC_CheckType, MVT::v16i8,
15074
OPC_CheckPatternPredicate, 4,
15075
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15076
OPC_EmitMergeInputChains, 1, 1,
15077
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXUWrm), 0|OPFL_Chain|OPFL_MemRefs,
15078
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
15081
OPC_CheckOpcode, ISD::BIT_CONVERT,
15083
OPC_CheckOpcode, ISD::LOAD,
15084
OPC_CheckPredicate, 4,
15085
OPC_CheckPredicate, 9,
15086
OPC_CheckPredicate, 24,
15089
OPC_CheckFoldableChainNode,
15091
OPC_CheckType, MVT::v16i8,
15095
OPC_CheckPatternPredicate, 4,
15096
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
15097
OPC_EmitMergeInputChains, 1, 0,
15098
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXUWrm), 0|OPFL_Chain|OPFL_MemRefs,
15099
1, MVT::v8i16, 6, 2, 3, 4, 5, 6, 7,
15103
OPC_CheckPatternPredicate, 4,
15104
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMAXUWrr), 0,
15105
1, MVT::v8i16, 2, 0, 1,
15108
OPC_CheckInteger, 8|128,5,
15113
OPC_CheckOpcode, ISD::BIT_CONVERT,
15115
OPC_CheckOpcode, ISD::LOAD,
15116
OPC_CheckPredicate, 4,
15117
OPC_CheckPredicate, 9,
15118
OPC_CheckPredicate, 24,
15121
OPC_CheckFoldableChainNode,
15123
OPC_CheckType, MVT::v16i8,
15126
OPC_CheckPatternPredicate, 4,
15127
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15128
OPC_EmitMergeInputChains, 1, 1,
15129
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULDQrm), 0|OPFL_Chain|OPFL_MemRefs,
15130
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
15133
OPC_CheckOpcode, ISD::BIT_CONVERT,
15135
OPC_CheckOpcode, ISD::LOAD,
15136
OPC_CheckPredicate, 4,
15137
OPC_CheckPredicate, 9,
15138
OPC_CheckPredicate, 24,
15141
OPC_CheckFoldableChainNode,
15143
OPC_CheckType, MVT::v16i8,
15147
OPC_CheckPatternPredicate, 4,
15148
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
15149
OPC_EmitMergeInputChains, 1, 0,
15150
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULDQrm), 0|OPFL_Chain|OPFL_MemRefs,
15151
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
15155
OPC_CheckPatternPredicate, 4,
15156
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULDQrr), 0,
15157
1, MVT::v2i64, 2, 0, 1,
15160
OPC_CheckInteger, 100|128,4,
15165
OPC_CheckOpcode, ISD::BIT_CONVERT,
15167
OPC_CheckOpcode, ISD::LOAD,
15168
OPC_CheckPredicate, 4,
15169
OPC_CheckPredicate, 9,
15170
OPC_CheckPredicate, 24,
15173
OPC_CheckFoldableChainNode,
15175
OPC_CheckType, MVT::v16i8,
15179
OPC_CheckPatternPredicate, 4,
15180
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15181
OPC_EmitMergeInputChains, 1, 1,
15182
OPC_EmitCopyToReg, 3, X86::XMM0,
15183
OPC_MorphNodeTo, TARGET_OPCODE(X86::BLENDVPDrm0), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
15184
1, MVT::v2f64, 6, 0, 4, 5, 6, 7, 8,
15188
OPC_CheckPatternPredicate, 4,
15189
OPC_EmitCopyToReg, 2, X86::XMM0,
15190
OPC_MorphNodeTo, TARGET_OPCODE(X86::BLENDVPDrr0), 0|OPFL_FlagInput,
15191
1, MVT::v2f64, 2, 0, 1,
15194
OPC_CheckInteger, 101|128,4,
15199
OPC_CheckOpcode, ISD::BIT_CONVERT,
15201
OPC_CheckOpcode, ISD::LOAD,
15202
OPC_CheckPredicate, 4,
15203
OPC_CheckPredicate, 9,
15204
OPC_CheckPredicate, 24,
15207
OPC_CheckFoldableChainNode,
15209
OPC_CheckType, MVT::v16i8,
15213
OPC_CheckPatternPredicate, 4,
15214
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15215
OPC_EmitMergeInputChains, 1, 1,
15216
OPC_EmitCopyToReg, 3, X86::XMM0,
15217
OPC_MorphNodeTo, TARGET_OPCODE(X86::BLENDVPSrm0), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
15218
1, MVT::v4f32, 6, 0, 4, 5, 6, 7, 8,
15222
OPC_CheckPatternPredicate, 4,
15223
OPC_EmitCopyToReg, 2, X86::XMM0,
15224
OPC_MorphNodeTo, TARGET_OPCODE(X86::BLENDVPSrr0), 0|OPFL_FlagInput,
15225
1, MVT::v4f32, 2, 0, 1,
15228
OPC_CheckInteger, 109|128,4,
15233
OPC_CheckOpcode, ISD::BIT_CONVERT,
15235
OPC_CheckOpcode, ISD::LOAD,
15236
OPC_CheckPredicate, 4,
15237
OPC_CheckPredicate, 9,
15238
OPC_CheckPredicate, 24,
15241
OPC_CheckFoldableChainNode,
15243
OPC_CheckType, MVT::v16i8,
15247
OPC_CheckPatternPredicate, 4,
15248
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15249
OPC_EmitMergeInputChains, 1, 1,
15250
OPC_EmitCopyToReg, 3, X86::XMM0,
15251
OPC_MorphNodeTo, TARGET_OPCODE(X86::PBLENDVBrm0), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
15252
1, MVT::v16i8, 6, 0, 4, 5, 6, 7, 8,
15256
OPC_CheckPatternPredicate, 4,
15257
OPC_EmitCopyToReg, 2, X86::XMM0,
15258
OPC_MorphNodeTo, TARGET_OPCODE(X86::PBLENDVBrr0), 0|OPFL_FlagInput,
15259
1, MVT::v16i8, 2, 0, 1,
15262
OPC_CheckInteger, 28|128,5,
15267
OPC_CheckOpcode, ISD::BIT_CONVERT,
15269
OPC_CheckOpcode, ISD::LOAD,
15270
OPC_CheckPredicate, 4,
15271
OPC_CheckPredicate, 9,
15272
OPC_CheckPredicate, 24,
15275
OPC_CheckFoldableChainNode,
15277
OPC_CheckType, MVT::v16i8,
15280
OPC_CheckPatternPredicate, 14,
15281
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15282
OPC_EmitMergeInputChains, 1, 1,
15283
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTQrm), 0|OPFL_Chain|OPFL_MemRefs,
15284
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
15287
OPC_CheckPatternPredicate, 14,
15288
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTQrr), 0,
15289
1, MVT::v2i64, 2, 0, 1,
15292
OPC_CheckInteger, 29|128,5,
15297
OPC_CheckOpcode, ISD::LOAD,
15298
OPC_CheckPredicate, 4,
15299
OPC_CheckPredicate, 9,
15302
OPC_CheckFoldableChainNode,
15307
OPC_CheckOpcode, ISD::Constant,
15309
OPC_CheckPatternPredicate, 14,
15310
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15311
OPC_EmitMergeInputChains, 1, 1,
15312
OPC_EmitConvertToTarget, 3,
15313
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRIrm), 0|OPFL_Chain|OPFL_MemRefs,
15314
2, MVT::i32, MVT::i32, 7, 0, 4, 5, 6, 7, 8, 9,
15319
OPC_CheckOpcode, ISD::Constant,
15321
OPC_CheckPatternPredicate, 14,
15322
OPC_EmitConvertToTarget, 2,
15323
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRIrr), 0,
15324
2, MVT::i32, MVT::i32, 3, 0, 1, 3,
15327
OPC_CheckInteger, 30|128,5,
15332
OPC_CheckOpcode, ISD::LOAD,
15333
OPC_CheckPredicate, 4,
15334
OPC_CheckPredicate, 9,
15337
OPC_CheckFoldableChainNode,
15342
OPC_CheckOpcode, ISD::Constant,
15344
OPC_CheckPatternPredicate, 14,
15345
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15346
OPC_EmitMergeInputChains, 1, 1,
15347
OPC_EmitConvertToTarget, 3,
15348
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRIArm), 0|OPFL_Chain|OPFL_MemRefs,
15349
2, MVT::i32, MVT::i32, 7, 0, 4, 5, 6, 7, 8, 9,
15354
OPC_CheckOpcode, ISD::Constant,
15356
OPC_CheckPatternPredicate, 14,
15357
OPC_EmitConvertToTarget, 2,
15358
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRIArr), 0,
15359
2, MVT::i32, MVT::i32, 3, 0, 1, 3,
15362
OPC_CheckInteger, 31|128,5,
15367
OPC_CheckOpcode, ISD::LOAD,
15368
OPC_CheckPredicate, 4,
15369
OPC_CheckPredicate, 9,
15372
OPC_CheckFoldableChainNode,
15377
OPC_CheckOpcode, ISD::Constant,
15379
OPC_CheckPatternPredicate, 14,
15380
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15381
OPC_EmitMergeInputChains, 1, 1,
15382
OPC_EmitConvertToTarget, 3,
15383
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRICrm), 0|OPFL_Chain|OPFL_MemRefs,
15384
2, MVT::i32, MVT::i32, 7, 0, 4, 5, 6, 7, 8, 9,
15389
OPC_CheckOpcode, ISD::Constant,
15391
OPC_CheckPatternPredicate, 14,
15392
OPC_EmitConvertToTarget, 2,
15393
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRICrr), 0,
15394
2, MVT::i32, MVT::i32, 3, 0, 1, 3,
15397
OPC_CheckInteger, 32|128,5,
15402
OPC_CheckOpcode, ISD::LOAD,
15403
OPC_CheckPredicate, 4,
15404
OPC_CheckPredicate, 9,
15407
OPC_CheckFoldableChainNode,
15412
OPC_CheckOpcode, ISD::Constant,
15414
OPC_CheckPatternPredicate, 14,
15415
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15416
OPC_EmitMergeInputChains, 1, 1,
15417
OPC_EmitConvertToTarget, 3,
15418
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRIOrm), 0|OPFL_Chain|OPFL_MemRefs,
15419
2, MVT::i32, MVT::i32, 7, 0, 4, 5, 6, 7, 8, 9,
15424
OPC_CheckOpcode, ISD::Constant,
15426
OPC_CheckPatternPredicate, 14,
15427
OPC_EmitConvertToTarget, 2,
15428
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRIOrr), 0,
15429
2, MVT::i32, MVT::i32, 3, 0, 1, 3,
15432
OPC_CheckInteger, 33|128,5,
15437
OPC_CheckOpcode, ISD::LOAD,
15438
OPC_CheckPredicate, 4,
15439
OPC_CheckPredicate, 9,
15442
OPC_CheckFoldableChainNode,
15447
OPC_CheckOpcode, ISD::Constant,
15449
OPC_CheckPatternPredicate, 14,
15450
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15451
OPC_EmitMergeInputChains, 1, 1,
15452
OPC_EmitConvertToTarget, 3,
15453
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRISrm), 0|OPFL_Chain|OPFL_MemRefs,
15454
2, MVT::i32, MVT::i32, 7, 0, 4, 5, 6, 7, 8, 9,
15459
OPC_CheckOpcode, ISD::Constant,
15461
OPC_CheckPatternPredicate, 14,
15462
OPC_EmitConvertToTarget, 2,
15463
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRISrr), 0,
15464
2, MVT::i32, MVT::i32, 3, 0, 1, 3,
15467
OPC_CheckInteger, 34|128,5,
15472
OPC_CheckOpcode, ISD::LOAD,
15473
OPC_CheckPredicate, 4,
15474
OPC_CheckPredicate, 9,
15477
OPC_CheckFoldableChainNode,
15482
OPC_CheckOpcode, ISD::Constant,
15484
OPC_CheckPatternPredicate, 14,
15485
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15486
OPC_EmitMergeInputChains, 1, 1,
15487
OPC_EmitConvertToTarget, 3,
15488
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRIZrm), 0|OPFL_Chain|OPFL_MemRefs,
15489
2, MVT::i32, MVT::i32, 7, 0, 4, 5, 6, 7, 8, 9,
15494
OPC_CheckOpcode, ISD::Constant,
15496
OPC_CheckPatternPredicate, 14,
15497
OPC_EmitConvertToTarget, 2,
15498
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRIZrr), 0,
15499
2, MVT::i32, MVT::i32, 3, 0, 1, 3,
15502
OPC_CheckInteger, 21|128,5,
15508
OPC_CheckOpcode, ISD::LOAD,
15509
OPC_CheckPredicate, 4,
15510
OPC_CheckPredicate, 9,
15513
OPC_CheckFoldableChainNode,
15519
OPC_CheckOpcode, ISD::Constant,
15521
OPC_CheckPatternPredicate, 14,
15522
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
15523
OPC_EmitMergeInputChains, 1, 2,
15524
OPC_EmitConvertToTarget, 5,
15525
OPC_EmitCopyToReg, 1, X86::EAX,
15526
OPC_EmitCopyToReg, 4, X86::EDX,
15527
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRIrm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
15528
2, MVT::i32, MVT::i32, 7, 0, 6, 7, 8, 9, 10, 11,
15534
OPC_CheckOpcode, ISD::Constant,
15536
OPC_CheckPatternPredicate, 14,
15537
OPC_EmitConvertToTarget, 4,
15538
OPC_EmitCopyToReg, 1, X86::EAX,
15539
OPC_EmitCopyToReg, 3, X86::EDX,
15540
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRIrr), 0|OPFL_FlagInput,
15541
2, MVT::i32, MVT::i32, 3, 0, 2, 5,
15544
OPC_CheckInteger, 22|128,5,
15550
OPC_CheckOpcode, ISD::LOAD,
15551
OPC_CheckPredicate, 4,
15552
OPC_CheckPredicate, 9,
15555
OPC_CheckFoldableChainNode,
15561
OPC_CheckOpcode, ISD::Constant,
15563
OPC_CheckPatternPredicate, 14,
15564
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
15565
OPC_EmitMergeInputChains, 1, 2,
15566
OPC_EmitConvertToTarget, 5,
15567
OPC_EmitCopyToReg, 1, X86::EAX,
15568
OPC_EmitCopyToReg, 4, X86::EDX,
15569
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRIArm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
15570
2, MVT::i32, MVT::i32, 7, 0, 6, 7, 8, 9, 10, 11,
15576
OPC_CheckOpcode, ISD::Constant,
15578
OPC_CheckPatternPredicate, 14,
15579
OPC_EmitConvertToTarget, 4,
15580
OPC_EmitCopyToReg, 1, X86::EAX,
15581
OPC_EmitCopyToReg, 3, X86::EDX,
15582
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRIArr), 0|OPFL_FlagInput,
15583
2, MVT::i32, MVT::i32, 3, 0, 2, 5,
15586
OPC_CheckInteger, 23|128,5,
15592
OPC_CheckOpcode, ISD::LOAD,
15593
OPC_CheckPredicate, 4,
15594
OPC_CheckPredicate, 9,
15597
OPC_CheckFoldableChainNode,
15603
OPC_CheckOpcode, ISD::Constant,
15605
OPC_CheckPatternPredicate, 14,
15606
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
15607
OPC_EmitMergeInputChains, 1, 2,
15608
OPC_EmitConvertToTarget, 5,
15609
OPC_EmitCopyToReg, 1, X86::EAX,
15610
OPC_EmitCopyToReg, 4, X86::EDX,
15611
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRICrm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
15612
2, MVT::i32, MVT::i32, 7, 0, 6, 7, 8, 9, 10, 11,
15618
OPC_CheckOpcode, ISD::Constant,
15620
OPC_CheckPatternPredicate, 14,
15621
OPC_EmitConvertToTarget, 4,
15622
OPC_EmitCopyToReg, 1, X86::EAX,
15623
OPC_EmitCopyToReg, 3, X86::EDX,
15624
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRICrr), 0|OPFL_FlagInput,
15625
2, MVT::i32, MVT::i32, 3, 0, 2, 5,
15628
OPC_CheckInteger, 24|128,5,
15634
OPC_CheckOpcode, ISD::LOAD,
15635
OPC_CheckPredicate, 4,
15636
OPC_CheckPredicate, 9,
15639
OPC_CheckFoldableChainNode,
15645
OPC_CheckOpcode, ISD::Constant,
15647
OPC_CheckPatternPredicate, 14,
15648
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
15649
OPC_EmitMergeInputChains, 1, 2,
15650
OPC_EmitConvertToTarget, 5,
15651
OPC_EmitCopyToReg, 1, X86::EAX,
15652
OPC_EmitCopyToReg, 4, X86::EDX,
15653
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRIOrm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
15654
2, MVT::i32, MVT::i32, 7, 0, 6, 7, 8, 9, 10, 11,
15660
OPC_CheckOpcode, ISD::Constant,
15662
OPC_CheckPatternPredicate, 14,
15663
OPC_EmitConvertToTarget, 4,
15664
OPC_EmitCopyToReg, 1, X86::EAX,
15665
OPC_EmitCopyToReg, 3, X86::EDX,
15666
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRIOrr), 0|OPFL_FlagInput,
15667
2, MVT::i32, MVT::i32, 3, 0, 2, 5,
15670
OPC_CheckInteger, 25|128,5,
15676
OPC_CheckOpcode, ISD::LOAD,
15677
OPC_CheckPredicate, 4,
15678
OPC_CheckPredicate, 9,
15681
OPC_CheckFoldableChainNode,
15687
OPC_CheckOpcode, ISD::Constant,
15689
OPC_CheckPatternPredicate, 14,
15690
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
15691
OPC_EmitMergeInputChains, 1, 2,
15692
OPC_EmitConvertToTarget, 5,
15693
OPC_EmitCopyToReg, 1, X86::EAX,
15694
OPC_EmitCopyToReg, 4, X86::EDX,
15695
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRISrm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
15696
2, MVT::i32, MVT::i32, 7, 0, 6, 7, 8, 9, 10, 11,
15702
OPC_CheckOpcode, ISD::Constant,
15704
OPC_CheckPatternPredicate, 14,
15705
OPC_EmitConvertToTarget, 4,
15706
OPC_EmitCopyToReg, 1, X86::EAX,
15707
OPC_EmitCopyToReg, 3, X86::EDX,
15708
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRISrr), 0|OPFL_FlagInput,
15709
2, MVT::i32, MVT::i32, 3, 0, 2, 5,
15712
OPC_CheckInteger, 26|128,5,
15718
OPC_CheckOpcode, ISD::LOAD,
15719
OPC_CheckPredicate, 4,
15720
OPC_CheckPredicate, 9,
15723
OPC_CheckFoldableChainNode,
15729
OPC_CheckOpcode, ISD::Constant,
15731
OPC_CheckPatternPredicate, 14,
15732
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
15733
OPC_EmitMergeInputChains, 1, 2,
15734
OPC_EmitConvertToTarget, 5,
15735
OPC_EmitCopyToReg, 1, X86::EAX,
15736
OPC_EmitCopyToReg, 4, X86::EDX,
15737
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRIZrm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
15738
2, MVT::i32, MVT::i32, 7, 0, 6, 7, 8, 9, 10, 11,
15744
OPC_CheckOpcode, ISD::Constant,
15746
OPC_CheckPatternPredicate, 14,
15747
OPC_EmitConvertToTarget, 4,
15748
OPC_EmitCopyToReg, 1, X86::EAX,
15749
OPC_EmitCopyToReg, 3, X86::EDX,
15750
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRIZrr), 0|OPFL_FlagInput,
15751
2, MVT::i32, MVT::i32, 3, 0, 2, 5,
15754
OPC_CheckInteger, 73|128,3,
15759
OPC_CheckOpcode, ISD::BIT_CONVERT,
15761
OPC_CheckOpcode, ISD::LOAD,
15762
OPC_CheckPredicate, 4,
15763
OPC_CheckPredicate, 9,
15766
OPC_CheckFoldableChainNode,
15768
OPC_CheckType, MVT::v1i64,
15771
OPC_CheckPatternPredicate, 8,
15772
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15773
OPC_EmitMergeInputChains, 1, 1,
15774
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDSBrm), 0|OPFL_Chain|OPFL_MemRefs,
15775
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
15778
OPC_CheckOpcode, ISD::BIT_CONVERT,
15780
OPC_CheckOpcode, ISD::LOAD,
15781
OPC_CheckPredicate, 4,
15782
OPC_CheckPredicate, 9,
15785
OPC_CheckFoldableChainNode,
15787
OPC_CheckType, MVT::v1i64,
15791
OPC_CheckPatternPredicate, 8,
15792
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
15793
OPC_EmitMergeInputChains, 1, 0,
15794
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDSBrm), 0|OPFL_Chain|OPFL_MemRefs,
15795
1, MVT::v8i8, 6, 2, 3, 4, 5, 6, 7,
15799
OPC_CheckPatternPredicate, 8,
15800
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDSBrr), 0,
15801
1, MVT::v8i8, 2, 0, 1,
15804
OPC_CheckInteger, 74|128,3,
15809
OPC_CheckOpcode, ISD::BIT_CONVERT,
15811
OPC_CheckOpcode, ISD::LOAD,
15812
OPC_CheckPredicate, 4,
15813
OPC_CheckPredicate, 9,
15816
OPC_CheckFoldableChainNode,
15818
OPC_CheckType, MVT::v1i64,
15821
OPC_CheckPatternPredicate, 8,
15822
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15823
OPC_EmitMergeInputChains, 1, 1,
15824
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDSWrm), 0|OPFL_Chain|OPFL_MemRefs,
15825
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
15828
OPC_CheckOpcode, ISD::BIT_CONVERT,
15830
OPC_CheckOpcode, ISD::LOAD,
15831
OPC_CheckPredicate, 4,
15832
OPC_CheckPredicate, 9,
15835
OPC_CheckFoldableChainNode,
15837
OPC_CheckType, MVT::v1i64,
15841
OPC_CheckPatternPredicate, 8,
15842
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
15843
OPC_EmitMergeInputChains, 1, 0,
15844
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDSWrm), 0|OPFL_Chain|OPFL_MemRefs,
15845
1, MVT::v4i16, 6, 2, 3, 4, 5, 6, 7,
15849
OPC_CheckPatternPredicate, 8,
15850
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDSWrr), 0,
15851
1, MVT::v4i16, 2, 0, 1,
15854
OPC_CheckInteger, 75|128,3,
15859
OPC_CheckOpcode, ISD::BIT_CONVERT,
15861
OPC_CheckOpcode, ISD::LOAD,
15862
OPC_CheckPredicate, 4,
15863
OPC_CheckPredicate, 9,
15866
OPC_CheckFoldableChainNode,
15868
OPC_CheckType, MVT::v1i64,
15871
OPC_CheckPatternPredicate, 8,
15872
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15873
OPC_EmitMergeInputChains, 1, 1,
15874
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDUSBrm), 0|OPFL_Chain|OPFL_MemRefs,
15875
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
15878
OPC_CheckOpcode, ISD::BIT_CONVERT,
15880
OPC_CheckOpcode, ISD::LOAD,
15881
OPC_CheckPredicate, 4,
15882
OPC_CheckPredicate, 9,
15885
OPC_CheckFoldableChainNode,
15887
OPC_CheckType, MVT::v1i64,
15891
OPC_CheckPatternPredicate, 8,
15892
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
15893
OPC_EmitMergeInputChains, 1, 0,
15894
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDUSBrm), 0|OPFL_Chain|OPFL_MemRefs,
15895
1, MVT::v8i8, 6, 2, 3, 4, 5, 6, 7,
15899
OPC_CheckPatternPredicate, 8,
15900
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDUSBrr), 0,
15901
1, MVT::v8i8, 2, 0, 1,
15904
OPC_CheckInteger, 76|128,3,
15909
OPC_CheckOpcode, ISD::BIT_CONVERT,
15911
OPC_CheckOpcode, ISD::LOAD,
15912
OPC_CheckPredicate, 4,
15913
OPC_CheckPredicate, 9,
15916
OPC_CheckFoldableChainNode,
15918
OPC_CheckType, MVT::v1i64,
15921
OPC_CheckPatternPredicate, 8,
15922
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15923
OPC_EmitMergeInputChains, 1, 1,
15924
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDUSWrm), 0|OPFL_Chain|OPFL_MemRefs,
15925
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
15928
OPC_CheckOpcode, ISD::BIT_CONVERT,
15930
OPC_CheckOpcode, ISD::LOAD,
15931
OPC_CheckPredicate, 4,
15932
OPC_CheckPredicate, 9,
15935
OPC_CheckFoldableChainNode,
15937
OPC_CheckType, MVT::v1i64,
15941
OPC_CheckPatternPredicate, 8,
15942
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
15943
OPC_EmitMergeInputChains, 1, 0,
15944
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDUSWrm), 0|OPFL_Chain|OPFL_MemRefs,
15945
1, MVT::v4i16, 6, 2, 3, 4, 5, 6, 7,
15949
OPC_CheckPatternPredicate, 8,
15950
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDUSWrr), 0,
15951
1, MVT::v4i16, 2, 0, 1,
15954
OPC_CheckInteger, 111|128,3,
15959
OPC_CheckOpcode, ISD::BIT_CONVERT,
15961
OPC_CheckOpcode, ISD::LOAD,
15962
OPC_CheckPredicate, 4,
15963
OPC_CheckPredicate, 9,
15966
OPC_CheckFoldableChainNode,
15968
OPC_CheckType, MVT::v1i64,
15971
OPC_CheckPatternPredicate, 8,
15972
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
15973
OPC_EmitMergeInputChains, 1, 1,
15974
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBSBrm), 0|OPFL_Chain|OPFL_MemRefs,
15975
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
15978
OPC_CheckPatternPredicate, 8,
15979
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBSBrr), 0,
15980
1, MVT::v8i8, 2, 0, 1,
15983
OPC_CheckInteger, 112|128,3,
15988
OPC_CheckOpcode, ISD::BIT_CONVERT,
15990
OPC_CheckOpcode, ISD::LOAD,
15991
OPC_CheckPredicate, 4,
15992
OPC_CheckPredicate, 9,
15995
OPC_CheckFoldableChainNode,
15997
OPC_CheckType, MVT::v1i64,
16000
OPC_CheckPatternPredicate, 8,
16001
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16002
OPC_EmitMergeInputChains, 1, 1,
16003
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBSWrm), 0|OPFL_Chain|OPFL_MemRefs,
16004
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
16007
OPC_CheckPatternPredicate, 8,
16008
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBSWrr), 0,
16009
1, MVT::v4i16, 2, 0, 1,
16012
OPC_CheckInteger, 113|128,3,
16017
OPC_CheckOpcode, ISD::BIT_CONVERT,
16019
OPC_CheckOpcode, ISD::LOAD,
16020
OPC_CheckPredicate, 4,
16021
OPC_CheckPredicate, 9,
16024
OPC_CheckFoldableChainNode,
16026
OPC_CheckType, MVT::v1i64,
16029
OPC_CheckPatternPredicate, 8,
16030
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16031
OPC_EmitMergeInputChains, 1, 1,
16032
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBUSBrm), 0|OPFL_Chain|OPFL_MemRefs,
16033
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
16036
OPC_CheckPatternPredicate, 8,
16037
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBUSBrr), 0,
16038
1, MVT::v8i8, 2, 0, 1,
16041
OPC_CheckInteger, 114|128,3,
16046
OPC_CheckOpcode, ISD::BIT_CONVERT,
16048
OPC_CheckOpcode, ISD::LOAD,
16049
OPC_CheckPredicate, 4,
16050
OPC_CheckPredicate, 9,
16053
OPC_CheckFoldableChainNode,
16055
OPC_CheckType, MVT::v1i64,
16058
OPC_CheckPatternPredicate, 8,
16059
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16060
OPC_EmitMergeInputChains, 1, 1,
16061
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBUSWrm), 0|OPFL_Chain|OPFL_MemRefs,
16062
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
16065
OPC_CheckPatternPredicate, 8,
16066
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBUSWrr), 0,
16067
1, MVT::v4i16, 2, 0, 1,
16070
OPC_CheckInteger, 91|128,3,
16075
OPC_CheckOpcode, ISD::BIT_CONVERT,
16077
OPC_CheckOpcode, ISD::LOAD,
16078
OPC_CheckPredicate, 4,
16079
OPC_CheckPredicate, 9,
16082
OPC_CheckFoldableChainNode,
16084
OPC_CheckType, MVT::v1i64,
16087
OPC_CheckPatternPredicate, 8,
16088
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16089
OPC_EmitMergeInputChains, 1, 1,
16090
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMULHWrm), 0|OPFL_Chain|OPFL_MemRefs,
16091
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
16094
OPC_CheckOpcode, ISD::BIT_CONVERT,
16096
OPC_CheckOpcode, ISD::LOAD,
16097
OPC_CheckPredicate, 4,
16098
OPC_CheckPredicate, 9,
16101
OPC_CheckFoldableChainNode,
16103
OPC_CheckType, MVT::v1i64,
16107
OPC_CheckPatternPredicate, 8,
16108
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
16109
OPC_EmitMergeInputChains, 1, 0,
16110
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMULHWrm), 0|OPFL_Chain|OPFL_MemRefs,
16111
1, MVT::v4i16, 6, 2, 3, 4, 5, 6, 7,
16115
OPC_CheckPatternPredicate, 8,
16116
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMULHWrr), 0,
16117
1, MVT::v4i16, 2, 0, 1,
16120
OPC_CheckInteger, 92|128,3,
16125
OPC_CheckOpcode, ISD::BIT_CONVERT,
16127
OPC_CheckOpcode, ISD::LOAD,
16128
OPC_CheckPredicate, 4,
16129
OPC_CheckPredicate, 9,
16132
OPC_CheckFoldableChainNode,
16134
OPC_CheckType, MVT::v1i64,
16137
OPC_CheckPatternPredicate, 8,
16138
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16139
OPC_EmitMergeInputChains, 1, 1,
16140
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMULHUWrm), 0|OPFL_Chain|OPFL_MemRefs,
16141
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
16144
OPC_CheckOpcode, ISD::BIT_CONVERT,
16146
OPC_CheckOpcode, ISD::LOAD,
16147
OPC_CheckPredicate, 4,
16148
OPC_CheckPredicate, 9,
16151
OPC_CheckFoldableChainNode,
16153
OPC_CheckType, MVT::v1i64,
16157
OPC_CheckPatternPredicate, 8,
16158
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
16159
OPC_EmitMergeInputChains, 1, 0,
16160
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMULHUWrm), 0|OPFL_Chain|OPFL_MemRefs,
16161
1, MVT::v4i16, 6, 2, 3, 4, 5, 6, 7,
16165
OPC_CheckPatternPredicate, 8,
16166
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMULHUWrr), 0,
16167
1, MVT::v4i16, 2, 0, 1,
16170
OPC_CheckInteger, 93|128,3,
16175
OPC_CheckOpcode, ISD::BIT_CONVERT,
16177
OPC_CheckOpcode, ISD::LOAD,
16178
OPC_CheckPredicate, 4,
16179
OPC_CheckPredicate, 9,
16182
OPC_CheckFoldableChainNode,
16184
OPC_CheckType, MVT::v1i64,
16187
OPC_CheckPatternPredicate, 8,
16188
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16189
OPC_EmitMergeInputChains, 1, 1,
16190
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMULUDQrm), 0|OPFL_Chain|OPFL_MemRefs,
16191
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
16194
OPC_CheckOpcode, ISD::BIT_CONVERT,
16196
OPC_CheckOpcode, ISD::LOAD,
16197
OPC_CheckPredicate, 4,
16198
OPC_CheckPredicate, 9,
16201
OPC_CheckFoldableChainNode,
16203
OPC_CheckType, MVT::v1i64,
16207
OPC_CheckPatternPredicate, 8,
16208
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
16209
OPC_EmitMergeInputChains, 1, 0,
16210
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMULUDQrm), 0|OPFL_Chain|OPFL_MemRefs,
16211
1, MVT::v2i32, 6, 2, 3, 4, 5, 6, 7,
16215
OPC_CheckPatternPredicate, 8,
16216
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMULUDQrr), 0,
16217
1, MVT::v2i32, 2, 0, 1,
16220
OPC_CheckInteger, 85|128,3,
16225
OPC_CheckOpcode, ISD::BIT_CONVERT,
16227
OPC_CheckOpcode, ISD::LOAD,
16228
OPC_CheckPredicate, 4,
16229
OPC_CheckPredicate, 9,
16232
OPC_CheckFoldableChainNode,
16234
OPC_CheckType, MVT::v1i64,
16237
OPC_CheckPatternPredicate, 8,
16238
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16239
OPC_EmitMergeInputChains, 1, 1,
16240
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMADDWDrm), 0|OPFL_Chain|OPFL_MemRefs,
16241
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
16244
OPC_CheckOpcode, ISD::BIT_CONVERT,
16246
OPC_CheckOpcode, ISD::LOAD,
16247
OPC_CheckPredicate, 4,
16248
OPC_CheckPredicate, 9,
16251
OPC_CheckFoldableChainNode,
16253
OPC_CheckType, MVT::v1i64,
16257
OPC_CheckPatternPredicate, 8,
16258
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
16259
OPC_EmitMergeInputChains, 1, 0,
16260
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMADDWDrm), 0|OPFL_Chain|OPFL_MemRefs,
16261
1, MVT::v2i32, 6, 2, 3, 4, 5, 6, 7,
16265
OPC_CheckPatternPredicate, 8,
16266
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMADDWDrr), 0,
16267
1, MVT::v2i32, 2, 0, 1,
16270
OPC_CheckInteger, 77|128,3,
16275
OPC_CheckOpcode, ISD::BIT_CONVERT,
16277
OPC_CheckOpcode, ISD::LOAD,
16278
OPC_CheckPredicate, 4,
16279
OPC_CheckPredicate, 9,
16282
OPC_CheckFoldableChainNode,
16284
OPC_CheckType, MVT::v1i64,
16287
OPC_CheckPatternPredicate, 8,
16288
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16289
OPC_EmitMergeInputChains, 1, 1,
16290
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PAVGBrm), 0|OPFL_Chain|OPFL_MemRefs,
16291
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
16294
OPC_CheckOpcode, ISD::BIT_CONVERT,
16296
OPC_CheckOpcode, ISD::LOAD,
16297
OPC_CheckPredicate, 4,
16298
OPC_CheckPredicate, 9,
16301
OPC_CheckFoldableChainNode,
16303
OPC_CheckType, MVT::v1i64,
16307
OPC_CheckPatternPredicate, 8,
16308
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
16309
OPC_EmitMergeInputChains, 1, 0,
16310
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PAVGBrm), 0|OPFL_Chain|OPFL_MemRefs,
16311
1, MVT::v8i8, 6, 2, 3, 4, 5, 6, 7,
16315
OPC_CheckPatternPredicate, 8,
16316
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PAVGBrr), 0,
16317
1, MVT::v8i8, 2, 0, 1,
16320
OPC_CheckInteger, 78|128,3,
16325
OPC_CheckOpcode, ISD::BIT_CONVERT,
16327
OPC_CheckOpcode, ISD::LOAD,
16328
OPC_CheckPredicate, 4,
16329
OPC_CheckPredicate, 9,
16332
OPC_CheckFoldableChainNode,
16334
OPC_CheckType, MVT::v1i64,
16337
OPC_CheckPatternPredicate, 8,
16338
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16339
OPC_EmitMergeInputChains, 1, 1,
16340
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PAVGWrm), 0|OPFL_Chain|OPFL_MemRefs,
16341
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
16344
OPC_CheckOpcode, ISD::BIT_CONVERT,
16346
OPC_CheckOpcode, ISD::LOAD,
16347
OPC_CheckPredicate, 4,
16348
OPC_CheckPredicate, 9,
16351
OPC_CheckFoldableChainNode,
16353
OPC_CheckType, MVT::v1i64,
16357
OPC_CheckPatternPredicate, 8,
16358
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
16359
OPC_EmitMergeInputChains, 1, 0,
16360
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PAVGWrm), 0|OPFL_Chain|OPFL_MemRefs,
16361
1, MVT::v4i16, 6, 2, 3, 4, 5, 6, 7,
16365
OPC_CheckPatternPredicate, 8,
16366
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PAVGWrr), 0,
16367
1, MVT::v4i16, 2, 0, 1,
16370
OPC_CheckInteger, 89|128,3,
16375
OPC_CheckOpcode, ISD::BIT_CONVERT,
16377
OPC_CheckOpcode, ISD::LOAD,
16378
OPC_CheckPredicate, 4,
16379
OPC_CheckPredicate, 9,
16382
OPC_CheckFoldableChainNode,
16384
OPC_CheckType, MVT::v1i64,
16387
OPC_CheckPatternPredicate, 8,
16388
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16389
OPC_EmitMergeInputChains, 1, 1,
16390
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMINUBrm), 0|OPFL_Chain|OPFL_MemRefs,
16391
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
16394
OPC_CheckOpcode, ISD::BIT_CONVERT,
16396
OPC_CheckOpcode, ISD::LOAD,
16397
OPC_CheckPredicate, 4,
16398
OPC_CheckPredicate, 9,
16401
OPC_CheckFoldableChainNode,
16403
OPC_CheckType, MVT::v1i64,
16407
OPC_CheckPatternPredicate, 8,
16408
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
16409
OPC_EmitMergeInputChains, 1, 0,
16410
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMINUBrm), 0|OPFL_Chain|OPFL_MemRefs,
16411
1, MVT::v8i8, 6, 2, 3, 4, 5, 6, 7,
16415
OPC_CheckPatternPredicate, 8,
16416
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMINUBrr), 0,
16417
1, MVT::v8i8, 2, 0, 1,
16420
OPC_CheckInteger, 88|128,3,
16425
OPC_CheckOpcode, ISD::BIT_CONVERT,
16427
OPC_CheckOpcode, ISD::LOAD,
16428
OPC_CheckPredicate, 4,
16429
OPC_CheckPredicate, 9,
16432
OPC_CheckFoldableChainNode,
16434
OPC_CheckType, MVT::v1i64,
16437
OPC_CheckPatternPredicate, 8,
16438
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16439
OPC_EmitMergeInputChains, 1, 1,
16440
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMINSWrm), 0|OPFL_Chain|OPFL_MemRefs,
16441
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
16444
OPC_CheckOpcode, ISD::BIT_CONVERT,
16446
OPC_CheckOpcode, ISD::LOAD,
16447
OPC_CheckPredicate, 4,
16448
OPC_CheckPredicate, 9,
16451
OPC_CheckFoldableChainNode,
16453
OPC_CheckType, MVT::v1i64,
16457
OPC_CheckPatternPredicate, 8,
16458
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
16459
OPC_EmitMergeInputChains, 1, 0,
16460
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMINSWrm), 0|OPFL_Chain|OPFL_MemRefs,
16461
1, MVT::v4i16, 6, 2, 3, 4, 5, 6, 7,
16465
OPC_CheckPatternPredicate, 8,
16466
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMINSWrr), 0,
16467
1, MVT::v4i16, 2, 0, 1,
16470
OPC_CheckInteger, 87|128,3,
16475
OPC_CheckOpcode, ISD::BIT_CONVERT,
16477
OPC_CheckOpcode, ISD::LOAD,
16478
OPC_CheckPredicate, 4,
16479
OPC_CheckPredicate, 9,
16482
OPC_CheckFoldableChainNode,
16484
OPC_CheckType, MVT::v1i64,
16487
OPC_CheckPatternPredicate, 8,
16488
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16489
OPC_EmitMergeInputChains, 1, 1,
16490
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMAXUBrm), 0|OPFL_Chain|OPFL_MemRefs,
16491
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
16494
OPC_CheckOpcode, ISD::BIT_CONVERT,
16496
OPC_CheckOpcode, ISD::LOAD,
16497
OPC_CheckPredicate, 4,
16498
OPC_CheckPredicate, 9,
16501
OPC_CheckFoldableChainNode,
16503
OPC_CheckType, MVT::v1i64,
16507
OPC_CheckPatternPredicate, 8,
16508
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
16509
OPC_EmitMergeInputChains, 1, 0,
16510
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMAXUBrm), 0|OPFL_Chain|OPFL_MemRefs,
16511
1, MVT::v8i8, 6, 2, 3, 4, 5, 6, 7,
16515
OPC_CheckPatternPredicate, 8,
16516
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMAXUBrr), 0,
16517
1, MVT::v8i8, 2, 0, 1,
16520
OPC_CheckInteger, 86|128,3,
16525
OPC_CheckOpcode, ISD::BIT_CONVERT,
16527
OPC_CheckOpcode, ISD::LOAD,
16528
OPC_CheckPredicate, 4,
16529
OPC_CheckPredicate, 9,
16532
OPC_CheckFoldableChainNode,
16534
OPC_CheckType, MVT::v1i64,
16537
OPC_CheckPatternPredicate, 8,
16538
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16539
OPC_EmitMergeInputChains, 1, 1,
16540
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMAXSWrm), 0|OPFL_Chain|OPFL_MemRefs,
16541
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
16544
OPC_CheckOpcode, ISD::BIT_CONVERT,
16546
OPC_CheckOpcode, ISD::LOAD,
16547
OPC_CheckPredicate, 4,
16548
OPC_CheckPredicate, 9,
16551
OPC_CheckFoldableChainNode,
16553
OPC_CheckType, MVT::v1i64,
16557
OPC_CheckPatternPredicate, 8,
16558
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
16559
OPC_EmitMergeInputChains, 1, 0,
16560
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMAXSWrm), 0|OPFL_Chain|OPFL_MemRefs,
16561
1, MVT::v4i16, 6, 2, 3, 4, 5, 6, 7,
16565
OPC_CheckPatternPredicate, 8,
16566
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMAXSWrr), 0,
16567
1, MVT::v4i16, 2, 0, 1,
16570
OPC_CheckInteger, 94|128,3,
16575
OPC_CheckOpcode, ISD::BIT_CONVERT,
16577
OPC_CheckOpcode, ISD::LOAD,
16578
OPC_CheckPredicate, 4,
16579
OPC_CheckPredicate, 9,
16582
OPC_CheckFoldableChainNode,
16584
OPC_CheckType, MVT::v1i64,
16587
OPC_CheckPatternPredicate, 8,
16588
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16589
OPC_EmitMergeInputChains, 1, 1,
16590
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSADBWrm), 0|OPFL_Chain|OPFL_MemRefs,
16591
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
16594
OPC_CheckOpcode, ISD::BIT_CONVERT,
16596
OPC_CheckOpcode, ISD::LOAD,
16597
OPC_CheckPredicate, 4,
16598
OPC_CheckPredicate, 9,
16601
OPC_CheckFoldableChainNode,
16603
OPC_CheckType, MVT::v1i64,
16607
OPC_CheckPatternPredicate, 8,
16608
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
16609
OPC_EmitMergeInputChains, 1, 0,
16610
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSADBWrm), 0|OPFL_Chain|OPFL_MemRefs,
16611
1, MVT::v4i16, 6, 2, 3, 4, 5, 6, 7,
16615
OPC_CheckPatternPredicate, 8,
16616
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSADBWrr), 0,
16617
1, MVT::v4i16, 2, 0, 1,
16620
OPC_CheckInteger, 107|128,3,
16625
OPC_CheckOpcode, ISD::BIT_CONVERT,
16627
OPC_CheckOpcode, ISD::LOAD,
16628
OPC_CheckPredicate, 4,
16629
OPC_CheckPredicate, 9,
16632
OPC_CheckFoldableChainNode,
16634
OPC_CheckType, MVT::v1i64,
16637
OPC_CheckPatternPredicate, 8,
16638
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16639
OPC_EmitMergeInputChains, 1, 1,
16640
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRLWrm), 0|OPFL_Chain|OPFL_MemRefs,
16641
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
16644
OPC_CheckPatternPredicate, 8,
16645
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRLWrr), 0,
16646
1, MVT::v4i16, 2, 0, 1,
16649
OPC_CheckInteger, 105|128,3,
16654
OPC_CheckOpcode, ISD::BIT_CONVERT,
16656
OPC_CheckOpcode, ISD::LOAD,
16657
OPC_CheckPredicate, 4,
16658
OPC_CheckPredicate, 9,
16661
OPC_CheckFoldableChainNode,
16663
OPC_CheckType, MVT::v1i64,
16666
OPC_CheckPatternPredicate, 8,
16667
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16668
OPC_EmitMergeInputChains, 1, 1,
16669
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRLDrm), 0|OPFL_Chain|OPFL_MemRefs,
16670
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
16673
OPC_CheckPatternPredicate, 8,
16674
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRLDrr), 0,
16675
1, MVT::v2i32, 2, 0, 1,
16678
OPC_CheckInteger, 106|128,3,
16683
OPC_CheckOpcode, ISD::BIT_CONVERT,
16685
OPC_CheckOpcode, ISD::LOAD,
16686
OPC_CheckPredicate, 4,
16687
OPC_CheckPredicate, 9,
16690
OPC_CheckFoldableChainNode,
16692
OPC_CheckType, MVT::v1i64,
16695
OPC_CheckPatternPredicate, 8,
16696
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16697
OPC_EmitMergeInputChains, 1, 1,
16698
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRLQrm), 0|OPFL_Chain|OPFL_MemRefs,
16699
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
16702
OPC_CheckPatternPredicate, 8,
16703
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRLQrr), 0,
16704
1, MVT::v1i64, 2, 0, 1,
16707
OPC_CheckInteger, 97|128,3,
16712
OPC_CheckOpcode, ISD::BIT_CONVERT,
16714
OPC_CheckOpcode, ISD::LOAD,
16715
OPC_CheckPredicate, 4,
16716
OPC_CheckPredicate, 9,
16719
OPC_CheckFoldableChainNode,
16721
OPC_CheckType, MVT::v1i64,
16724
OPC_CheckPatternPredicate, 8,
16725
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16726
OPC_EmitMergeInputChains, 1, 1,
16727
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSLLWrm), 0|OPFL_Chain|OPFL_MemRefs,
16728
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
16731
OPC_CheckPatternPredicate, 8,
16732
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSLLWrr), 0,
16733
1, MVT::v4i16, 2, 0, 1,
16736
OPC_CheckInteger, 95|128,3,
16741
OPC_CheckOpcode, ISD::BIT_CONVERT,
16743
OPC_CheckOpcode, ISD::LOAD,
16744
OPC_CheckPredicate, 4,
16745
OPC_CheckPredicate, 9,
16748
OPC_CheckFoldableChainNode,
16750
OPC_CheckType, MVT::v1i64,
16753
OPC_CheckPatternPredicate, 8,
16754
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16755
OPC_EmitMergeInputChains, 1, 1,
16756
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSLLDrm), 0|OPFL_Chain|OPFL_MemRefs,
16757
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
16760
OPC_CheckPatternPredicate, 8,
16761
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSLLDrr), 0,
16762
1, MVT::v2i32, 2, 0, 1,
16765
OPC_CheckInteger, 96|128,3,
16770
OPC_CheckOpcode, ISD::BIT_CONVERT,
16772
OPC_CheckOpcode, ISD::LOAD,
16773
OPC_CheckPredicate, 4,
16774
OPC_CheckPredicate, 9,
16777
OPC_CheckFoldableChainNode,
16779
OPC_CheckType, MVT::v1i64,
16782
OPC_CheckPatternPredicate, 8,
16783
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16784
OPC_EmitMergeInputChains, 1, 1,
16785
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSLLQrm), 0|OPFL_Chain|OPFL_MemRefs,
16786
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
16789
OPC_CheckPatternPredicate, 8,
16790
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSLLQrr), 0,
16791
1, MVT::v1i64, 2, 0, 1,
16794
OPC_CheckInteger, 102|128,3,
16799
OPC_CheckOpcode, ISD::BIT_CONVERT,
16801
OPC_CheckOpcode, ISD::LOAD,
16802
OPC_CheckPredicate, 4,
16803
OPC_CheckPredicate, 9,
16806
OPC_CheckFoldableChainNode,
16808
OPC_CheckType, MVT::v1i64,
16811
OPC_CheckPatternPredicate, 8,
16812
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16813
OPC_EmitMergeInputChains, 1, 1,
16814
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRAWrm), 0|OPFL_Chain|OPFL_MemRefs,
16815
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
16818
OPC_CheckPatternPredicate, 8,
16819
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRAWrr), 0,
16820
1, MVT::v4i16, 2, 0, 1,
16823
OPC_CheckInteger, 101|128,3,
16828
OPC_CheckOpcode, ISD::BIT_CONVERT,
16830
OPC_CheckOpcode, ISD::LOAD,
16831
OPC_CheckPredicate, 4,
16832
OPC_CheckPredicate, 9,
16835
OPC_CheckFoldableChainNode,
16837
OPC_CheckType, MVT::v1i64,
16840
OPC_CheckPatternPredicate, 8,
16841
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16842
OPC_EmitMergeInputChains, 1, 1,
16843
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRADrm), 0|OPFL_Chain|OPFL_MemRefs,
16844
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
16847
OPC_CheckPatternPredicate, 8,
16848
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRADrr), 0,
16849
1, MVT::v2i32, 2, 0, 1,
16852
OPC_CheckInteger, 79|128,3,
16857
OPC_CheckOpcode, ISD::BIT_CONVERT,
16859
OPC_CheckOpcode, ISD::LOAD,
16860
OPC_CheckPredicate, 4,
16861
OPC_CheckPredicate, 9,
16864
OPC_CheckFoldableChainNode,
16866
OPC_CheckType, MVT::v1i64,
16869
OPC_CheckPatternPredicate, 8,
16870
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16871
OPC_EmitMergeInputChains, 1, 1,
16872
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQBrm), 0|OPFL_Chain|OPFL_MemRefs,
16873
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
16876
OPC_CheckPatternPredicate, 8,
16877
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQBrr), 0,
16878
1, MVT::v8i8, 2, 0, 1,
16881
OPC_CheckInteger, 81|128,3,
16886
OPC_CheckOpcode, ISD::BIT_CONVERT,
16888
OPC_CheckOpcode, ISD::LOAD,
16889
OPC_CheckPredicate, 4,
16890
OPC_CheckPredicate, 9,
16893
OPC_CheckFoldableChainNode,
16895
OPC_CheckType, MVT::v1i64,
16898
OPC_CheckPatternPredicate, 8,
16899
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16900
OPC_EmitMergeInputChains, 1, 1,
16901
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQWrm), 0|OPFL_Chain|OPFL_MemRefs,
16902
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
16905
OPC_CheckPatternPredicate, 8,
16906
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQWrr), 0,
16907
1, MVT::v4i16, 2, 0, 1,
16910
OPC_CheckInteger, 80|128,3,
16915
OPC_CheckOpcode, ISD::BIT_CONVERT,
16917
OPC_CheckOpcode, ISD::LOAD,
16918
OPC_CheckPredicate, 4,
16919
OPC_CheckPredicate, 9,
16922
OPC_CheckFoldableChainNode,
16924
OPC_CheckType, MVT::v1i64,
16927
OPC_CheckPatternPredicate, 8,
16928
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16929
OPC_EmitMergeInputChains, 1, 1,
16930
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQDrm), 0|OPFL_Chain|OPFL_MemRefs,
16931
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
16934
OPC_CheckPatternPredicate, 8,
16935
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQDrr), 0,
16936
1, MVT::v2i32, 2, 0, 1,
16939
OPC_CheckInteger, 82|128,3,
16944
OPC_CheckOpcode, ISD::BIT_CONVERT,
16946
OPC_CheckOpcode, ISD::LOAD,
16947
OPC_CheckPredicate, 4,
16948
OPC_CheckPredicate, 9,
16951
OPC_CheckFoldableChainNode,
16953
OPC_CheckType, MVT::v1i64,
16956
OPC_CheckPatternPredicate, 8,
16957
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16958
OPC_EmitMergeInputChains, 1, 1,
16959
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPGTBrm), 0|OPFL_Chain|OPFL_MemRefs,
16960
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
16963
OPC_CheckPatternPredicate, 8,
16964
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPGTBrr), 0,
16965
1, MVT::v8i8, 2, 0, 1,
16968
OPC_CheckInteger, 84|128,3,
16973
OPC_CheckOpcode, ISD::BIT_CONVERT,
16975
OPC_CheckOpcode, ISD::LOAD,
16976
OPC_CheckPredicate, 4,
16977
OPC_CheckPredicate, 9,
16980
OPC_CheckFoldableChainNode,
16982
OPC_CheckType, MVT::v1i64,
16985
OPC_CheckPatternPredicate, 8,
16986
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
16987
OPC_EmitMergeInputChains, 1, 1,
16988
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPGTWrm), 0|OPFL_Chain|OPFL_MemRefs,
16989
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
16992
OPC_CheckPatternPredicate, 8,
16993
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPGTWrr), 0,
16994
1, MVT::v4i16, 2, 0, 1,
16997
OPC_CheckInteger, 83|128,3,
17002
OPC_CheckOpcode, ISD::BIT_CONVERT,
17004
OPC_CheckOpcode, ISD::LOAD,
17005
OPC_CheckPredicate, 4,
17006
OPC_CheckPredicate, 9,
17009
OPC_CheckFoldableChainNode,
17011
OPC_CheckType, MVT::v1i64,
17014
OPC_CheckPatternPredicate, 8,
17015
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17016
OPC_EmitMergeInputChains, 1, 1,
17017
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPGTDrm), 0|OPFL_Chain|OPFL_MemRefs,
17018
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
17021
OPC_CheckPatternPredicate, 8,
17022
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPGTDrr), 0,
17023
1, MVT::v2i32, 2, 0, 1,
17026
OPC_CheckInteger, 71|128,3,
17031
OPC_CheckOpcode, ISD::BIT_CONVERT,
17033
OPC_CheckOpcode, ISD::LOAD,
17034
OPC_CheckPredicate, 4,
17035
OPC_CheckPredicate, 9,
17038
OPC_CheckFoldableChainNode,
17040
OPC_CheckType, MVT::v1i64,
17043
OPC_CheckPatternPredicate, 8,
17044
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17045
OPC_EmitMergeInputChains, 1, 1,
17046
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PACKSSWBrm), 0|OPFL_Chain|OPFL_MemRefs,
17047
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
17050
OPC_CheckPatternPredicate, 8,
17051
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PACKSSWBrr), 0,
17052
1, MVT::v8i8, 2, 0, 1,
17055
OPC_CheckInteger, 70|128,3,
17060
OPC_CheckOpcode, ISD::BIT_CONVERT,
17062
OPC_CheckOpcode, ISD::LOAD,
17063
OPC_CheckPredicate, 4,
17064
OPC_CheckPredicate, 9,
17067
OPC_CheckFoldableChainNode,
17069
OPC_CheckType, MVT::v1i64,
17072
OPC_CheckPatternPredicate, 8,
17073
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17074
OPC_EmitMergeInputChains, 1, 1,
17075
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PACKSSDWrm), 0|OPFL_Chain|OPFL_MemRefs,
17076
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
17079
OPC_CheckPatternPredicate, 8,
17080
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PACKSSDWrr), 0,
17081
1, MVT::v4i16, 2, 0, 1,
17084
OPC_CheckInteger, 72|128,3,
17089
OPC_CheckOpcode, ISD::BIT_CONVERT,
17091
OPC_CheckOpcode, ISD::LOAD,
17092
OPC_CheckPredicate, 4,
17093
OPC_CheckPredicate, 9,
17096
OPC_CheckFoldableChainNode,
17098
OPC_CheckType, MVT::v1i64,
17101
OPC_CheckPatternPredicate, 8,
17102
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17103
OPC_EmitMergeInputChains, 1, 1,
17104
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PACKUSWBrm), 0|OPFL_Chain|OPFL_MemRefs,
17105
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
17108
OPC_CheckPatternPredicate, 8,
17109
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PACKUSWBrr), 0,
17110
1, MVT::v8i8, 2, 0, 1,
17113
OPC_CheckInteger, 35|128,5,
17118
OPC_CheckOpcode, ISD::LOAD,
17119
OPC_CheckPredicate, 4,
17120
OPC_CheckPredicate, 9,
17123
OPC_CheckFoldableChainNode,
17128
OPC_CheckOpcode, ISD::Constant,
17130
OPC_CheckPatternPredicate, 14,
17131
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17132
OPC_EmitMergeInputChains, 1, 1,
17133
OPC_EmitConvertToTarget, 3,
17134
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRM128MEM), 0|OPFL_Chain|OPFL_MemRefs,
17135
1, MVT::v16i8, 7, 0, 4, 5, 6, 7, 8, 9,
17140
OPC_CheckOpcode, ISD::Constant,
17142
OPC_CheckPatternPredicate, 14,
17143
OPC_EmitConvertToTarget, 2,
17144
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPISTRM128REG), 0,
17145
1, MVT::v16i8, 3, 0, 1, 3,
17148
OPC_CheckInteger, 27|128,5,
17154
OPC_CheckOpcode, ISD::LOAD,
17155
OPC_CheckPredicate, 4,
17156
OPC_CheckPredicate, 9,
17159
OPC_CheckFoldableChainNode,
17165
OPC_CheckOpcode, ISD::Constant,
17167
OPC_CheckPatternPredicate, 14,
17168
OPC_CheckComplexPat, /*CP*/0, /*#*/3,
17169
OPC_EmitMergeInputChains, 1, 2,
17170
OPC_EmitConvertToTarget, 5,
17171
OPC_EmitCopyToReg, 1, X86::EAX,
17172
OPC_EmitCopyToReg, 4, X86::EDX,
17173
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRM128MEM), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
17174
1, MVT::v16i8, 7, 0, 6, 7, 8, 9, 10, 11,
17180
OPC_CheckOpcode, ISD::Constant,
17182
OPC_CheckPatternPredicate, 14,
17183
OPC_EmitConvertToTarget, 4,
17184
OPC_EmitCopyToReg, 1, X86::EAX,
17185
OPC_EmitCopyToReg, 3, X86::EDX,
17186
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPESTRM128REG), 0|OPFL_FlagInput,
17187
1, MVT::v16i8, 3, 0, 2, 5,
17190
OPC_CheckInteger, 4|128,4,
17194
OPC_CheckOpcode, ISD::LOAD,
17195
OPC_CheckPredicate, 4,
17196
OPC_CheckPredicate, 9,
17199
OPC_CheckFoldableChainNode,
17202
OPC_CheckPatternPredicate, 1,
17203
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17204
OPC_EmitMergeInputChains, 1, 0,
17205
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSD2SI64rm), 0|OPFL_Chain|OPFL_MemRefs,
17206
1, MVT::i64, 5, 2, 3, 4, 5, 6,
17209
OPC_CheckPatternPredicate, 1,
17210
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSD2SI64rr), 0,
17214
OPC_CheckInteger, 12|128,4,
17218
OPC_CheckOpcode, ISD::LOAD,
17219
OPC_CheckPredicate, 4,
17220
OPC_CheckPredicate, 9,
17223
OPC_CheckFoldableChainNode,
17226
OPC_CheckPatternPredicate, 1,
17227
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17228
OPC_EmitMergeInputChains, 1, 0,
17229
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTSD2SI64rm), 0|OPFL_Chain|OPFL_MemRefs,
17230
1, MVT::i64, 5, 2, 3, 4, 5, 6,
17233
OPC_CheckPatternPredicate, 1,
17234
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTSD2SI64rr), 0,
17238
OPC_CheckInteger, 7|128,4,
17243
OPC_CheckOpcode, ISD::LOAD,
17244
OPC_CheckPredicate, 4,
17245
OPC_CheckPredicate, 9,
17246
OPC_CheckPredicate, 10,
17249
OPC_CheckFoldableChainNode,
17252
OPC_CheckPatternPredicate, 1,
17253
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17254
OPC_EmitMergeInputChains, 1, 1,
17255
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSI2SD64rm), 0|OPFL_Chain|OPFL_MemRefs,
17256
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
17259
OPC_CheckPatternPredicate, 1,
17260
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSI2SD64rr), 0,
17261
1, MVT::v2f64, 2, 0, 1,
17264
OPC_CheckInteger, 50|128,5,
17269
OPC_CheckOpcode, ISD::LOAD,
17270
OPC_CheckPredicate, 4,
17271
OPC_CheckPredicate, 9,
17272
OPC_CheckPredicate, 10,
17275
OPC_CheckFoldableChainNode,
17278
OPC_CheckPatternPredicate, 0,
17279
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17280
OPC_EmitMergeInputChains, 1, 1,
17281
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSI2SS64rm), 0|OPFL_Chain|OPFL_MemRefs,
17282
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
17285
OPC_CheckPatternPredicate, 0,
17286
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSI2SS64rr), 0,
17287
1, MVT::v4f32, 2, 0, 1,
17290
OPC_CheckInteger, 52|128,5,
17294
OPC_CheckOpcode, ISD::LOAD,
17295
OPC_CheckPredicate, 4,
17296
OPC_CheckPredicate, 9,
17299
OPC_CheckFoldableChainNode,
17302
OPC_CheckPatternPredicate, 0,
17303
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17304
OPC_EmitMergeInputChains, 1, 0,
17305
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSS2SI64rm), 0|OPFL_Chain|OPFL_MemRefs,
17306
1, MVT::i64, 5, 2, 3, 4, 5, 6,
17309
OPC_CheckPatternPredicate, 0,
17310
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSS2SI64rr), 0,
17314
OPC_CheckInteger, 56|128,5,
17318
OPC_CheckOpcode, ISD::LOAD,
17319
OPC_CheckPredicate, 4,
17320
OPC_CheckPredicate, 9,
17323
OPC_CheckFoldableChainNode,
17326
OPC_CheckPatternPredicate, 0,
17327
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17328
OPC_EmitMergeInputChains, 1, 0,
17329
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTSS2SI64rm), 0|OPFL_Chain|OPFL_MemRefs,
17330
1, MVT::i64, 5, 2, 3, 4, 5, 6,
17333
OPC_CheckPatternPredicate, 0,
17334
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTSS2SI64rr), 0,
17338
OPC_CheckInteger, 51|128,5,
17342
OPC_CheckOpcode, ISD::LOAD,
17343
OPC_CheckPredicate, 4,
17344
OPC_CheckPredicate, 9,
17347
OPC_CheckFoldableChainNode,
17350
OPC_CheckPatternPredicate, 0,
17351
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17352
OPC_EmitMergeInputChains, 1, 0,
17353
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSS2SIrm), 0|OPFL_Chain|OPFL_MemRefs,
17354
1, MVT::i32, 5, 2, 3, 4, 5, 6,
17357
OPC_CheckPatternPredicate, 0,
17358
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSS2SIrr), 0,
17362
OPC_CheckInteger, 48|128,5,
17366
OPC_CheckOpcode, ISD::LOAD,
17367
OPC_CheckPredicate, 4,
17368
OPC_CheckPredicate, 9,
17371
OPC_CheckFoldableChainNode,
17374
OPC_CheckPatternPredicate, 0,
17375
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17376
OPC_EmitMergeInputChains, 1, 0,
17377
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPS2PIrm), 0|OPFL_Chain|OPFL_MemRefs,
17378
1, MVT::v2i32, 5, 2, 3, 4, 5, 6,
17381
OPC_CheckPatternPredicate, 0,
17382
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPS2PIrr), 0,
17383
1, MVT::v2i32, 1, 0,
17386
OPC_CheckInteger, 54|128,5,
17390
OPC_CheckOpcode, ISD::LOAD,
17391
OPC_CheckPredicate, 4,
17392
OPC_CheckPredicate, 9,
17395
OPC_CheckFoldableChainNode,
17398
OPC_CheckPatternPredicate, 0,
17399
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17400
OPC_EmitMergeInputChains, 1, 0,
17401
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTPS2PIrm), 0|OPFL_Chain|OPFL_MemRefs,
17402
1, MVT::v2i32, 5, 2, 3, 4, 5, 6,
17405
OPC_CheckPatternPredicate, 0,
17406
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTPS2PIrr), 0,
17407
1, MVT::v2i32, 1, 0,
17410
OPC_CheckInteger, 47|128,5,
17415
OPC_CheckOpcode, ISD::LOAD,
17416
OPC_CheckPredicate, 4,
17417
OPC_CheckPredicate, 9,
17420
OPC_CheckFoldableChainNode,
17423
OPC_CheckPatternPredicate, 0,
17424
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17425
OPC_EmitMergeInputChains, 1, 1,
17426
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPI2PSrm), 0|OPFL_Chain|OPFL_MemRefs,
17427
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
17430
OPC_CheckPatternPredicate, 0,
17431
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPI2PSrr), 0,
17432
1, MVT::v4f32, 2, 0, 1,
17435
OPC_CheckInteger, 55|128,5,
17439
OPC_CheckOpcode, ISD::LOAD,
17440
OPC_CheckPredicate, 4,
17441
OPC_CheckPredicate, 9,
17444
OPC_CheckFoldableChainNode,
17447
OPC_CheckPatternPredicate, 0,
17448
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17449
OPC_EmitMergeInputChains, 1, 0,
17450
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTSS2SIrm), 0|OPFL_Chain|OPFL_MemRefs,
17451
1, MVT::i32, 5, 2, 3, 4, 5, 6,
17454
OPC_CheckPatternPredicate, 0,
17455
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTSS2SIrr), 0,
17459
OPC_CheckInteger, 49|128,5,
17464
OPC_CheckOpcode, ISD::LOAD,
17465
OPC_CheckPredicate, 4,
17466
OPC_CheckPredicate, 5,
17469
OPC_CheckFoldableChainNode,
17472
OPC_CheckPatternPredicate, 0,
17473
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17474
OPC_EmitMergeInputChains, 1, 1,
17475
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSI2SSrm), 0|OPFL_Chain|OPFL_MemRefs,
17476
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
17479
OPC_CheckPatternPredicate, 0,
17480
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSI2SSrr), 0,
17481
1, MVT::v4f32, 2, 0, 1,
17484
OPC_CheckInteger, 60|128,5,
17489
OPC_CheckOpcode, ISD::LOAD,
17490
OPC_CheckPredicate, 4,
17491
OPC_CheckPredicate, 9,
17492
OPC_CheckPredicate, 24,
17495
OPC_CheckFoldableChainNode,
17498
OPC_CheckPatternPredicate, 0,
17499
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17500
OPC_EmitMergeInputChains, 1, 1,
17501
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXPSrm_Int), 0|OPFL_Chain|OPFL_MemRefs,
17502
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
17505
OPC_CheckPatternPredicate, 0,
17506
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXPSrr_Int), 0,
17507
1, MVT::v4f32, 2, 0, 1,
17510
OPC_CheckInteger, 62|128,5,
17515
OPC_CheckOpcode, ISD::LOAD,
17516
OPC_CheckPredicate, 4,
17517
OPC_CheckPredicate, 9,
17518
OPC_CheckPredicate, 24,
17521
OPC_CheckFoldableChainNode,
17524
OPC_CheckPatternPredicate, 0,
17525
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17526
OPC_EmitMergeInputChains, 1, 1,
17527
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINPSrm_Int), 0|OPFL_Chain|OPFL_MemRefs,
17528
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
17531
OPC_CheckPatternPredicate, 0,
17532
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINPSrr_Int), 0,
17533
1, MVT::v4f32, 2, 0, 1,
17536
OPC_CheckInteger, 72|128,5,
17540
OPC_CheckOpcode, ISD::LOAD,
17541
OPC_CheckPredicate, 4,
17542
OPC_CheckPredicate, 9,
17543
OPC_CheckPredicate, 24,
17546
OPC_CheckFoldableChainNode,
17549
OPC_CheckPatternPredicate, 0,
17550
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17551
OPC_EmitMergeInputChains, 1, 0,
17552
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTPSm_Int), 0|OPFL_Chain|OPFL_MemRefs,
17553
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
17556
OPC_CheckPatternPredicate, 0,
17557
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTPSr_Int), 0,
17558
1, MVT::v4f32, 1, 0,
17561
OPC_CheckInteger, 69|128,5,
17565
OPC_CheckOpcode, ISD::LOAD,
17566
OPC_CheckPredicate, 4,
17567
OPC_CheckPredicate, 9,
17568
OPC_CheckPredicate, 24,
17571
OPC_CheckFoldableChainNode,
17574
OPC_CheckPatternPredicate, 0,
17575
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17576
OPC_EmitMergeInputChains, 1, 0,
17577
OPC_MorphNodeTo, TARGET_OPCODE(X86::RSQRTPSm_Int), 0|OPFL_Chain|OPFL_MemRefs,
17578
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
17581
OPC_CheckPatternPredicate, 0,
17582
OPC_MorphNodeTo, TARGET_OPCODE(X86::RSQRTPSr_Int), 0,
17583
1, MVT::v4f32, 1, 0,
17586
OPC_CheckInteger, 67|128,5,
17590
OPC_CheckOpcode, ISD::LOAD,
17591
OPC_CheckPredicate, 4,
17592
OPC_CheckPredicate, 9,
17593
OPC_CheckPredicate, 24,
17596
OPC_CheckFoldableChainNode,
17599
OPC_CheckPatternPredicate, 0,
17600
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17601
OPC_EmitMergeInputChains, 1, 0,
17602
OPC_MorphNodeTo, TARGET_OPCODE(X86::RCPPSm_Int), 0|OPFL_Chain|OPFL_MemRefs,
17603
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
17606
OPC_CheckPatternPredicate, 0,
17607
OPC_MorphNodeTo, TARGET_OPCODE(X86::RCPPSr_Int), 0,
17608
1, MVT::v4f32, 1, 0,
17611
OPC_CheckInteger, 3|128,4,
17615
OPC_CheckOpcode, ISD::LOAD,
17616
OPC_CheckPredicate, 4,
17617
OPC_CheckPredicate, 9,
17620
OPC_CheckFoldableChainNode,
17623
OPC_CheckPatternPredicate, 1,
17624
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17625
OPC_EmitMergeInputChains, 1, 0,
17626
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSD2SIrm), 0|OPFL_Chain|OPFL_MemRefs,
17627
1, MVT::i32, 5, 2, 3, 4, 5, 6,
17630
OPC_CheckPatternPredicate, 1,
17631
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSD2SIrr), 0,
17635
OPC_CheckInteger, 45|128,5,
17639
OPC_CheckOpcode, ISD::LOAD,
17640
OPC_CheckPredicate, 4,
17641
OPC_CheckPredicate, 9,
17642
OPC_CheckPredicate, 24,
17645
OPC_CheckFoldableChainNode,
17648
OPC_CheckPatternPredicate, 1,
17649
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17650
OPC_EmitMergeInputChains, 1, 0,
17651
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPD2PIrm), 0|OPFL_Chain|OPFL_MemRefs,
17652
1, MVT::v2i32, 5, 2, 3, 4, 5, 6,
17655
OPC_CheckPatternPredicate, 1,
17656
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPD2PIrr), 0,
17657
1, MVT::v2i32, 1, 0,
17660
OPC_CheckInteger, 53|128,5,
17664
OPC_CheckOpcode, ISD::LOAD,
17665
OPC_CheckPredicate, 4,
17666
OPC_CheckPredicate, 9,
17667
OPC_CheckPredicate, 24,
17670
OPC_CheckFoldableChainNode,
17673
OPC_CheckPatternPredicate, 1,
17674
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17675
OPC_EmitMergeInputChains, 1, 0,
17676
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTPD2PIrm), 0|OPFL_Chain|OPFL_MemRefs,
17677
1, MVT::v2i32, 5, 2, 3, 4, 5, 6,
17680
OPC_CheckPatternPredicate, 1,
17681
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTPD2PIrr), 0,
17682
1, MVT::v2i32, 1, 0,
17685
OPC_CheckInteger, 46|128,5,
17689
OPC_CheckOpcode, ISD::LOAD,
17690
OPC_CheckPredicate, 4,
17691
OPC_CheckPredicate, 9,
17694
OPC_CheckFoldableChainNode,
17697
OPC_CheckPatternPredicate, 1,
17698
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17699
OPC_EmitMergeInputChains, 1, 0,
17700
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPI2PDrm), 0|OPFL_Chain|OPFL_MemRefs,
17701
1, MVT::v2f64, 5, 2, 3, 4, 5, 6,
17704
OPC_CheckPatternPredicate, 1,
17705
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPI2PDrr), 0,
17706
1, MVT::v2f64, 1, 0,
17709
OPC_CheckInteger, 11|128,4,
17713
OPC_CheckOpcode, ISD::LOAD,
17714
OPC_CheckPredicate, 4,
17715
OPC_CheckPredicate, 9,
17718
OPC_CheckFoldableChainNode,
17721
OPC_CheckPatternPredicate, 1,
17722
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17723
OPC_EmitMergeInputChains, 1, 0,
17724
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTSD2SIrm), 0|OPFL_Chain|OPFL_MemRefs,
17725
1, MVT::i32, 5, 2, 3, 4, 5, 6,
17728
OPC_CheckPatternPredicate, 1,
17729
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTSD2SIrr), 0,
17733
OPC_CheckInteger, 18|128,4,
17738
OPC_CheckOpcode, ISD::LOAD,
17739
OPC_CheckPredicate, 4,
17740
OPC_CheckPredicate, 9,
17741
OPC_CheckPredicate, 24,
17744
OPC_CheckFoldableChainNode,
17747
OPC_CheckPatternPredicate, 1,
17748
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17749
OPC_EmitMergeInputChains, 1, 1,
17750
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXPDrm_Int), 0|OPFL_Chain|OPFL_MemRefs,
17751
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
17754
OPC_CheckPatternPredicate, 1,
17755
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXPDrr_Int), 0,
17756
1, MVT::v2f64, 2, 0, 1,
17759
OPC_CheckInteger, 21|128,4,
17764
OPC_CheckOpcode, ISD::LOAD,
17765
OPC_CheckPredicate, 4,
17766
OPC_CheckPredicate, 9,
17767
OPC_CheckPredicate, 24,
17770
OPC_CheckFoldableChainNode,
17773
OPC_CheckPatternPredicate, 1,
17774
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17775
OPC_EmitMergeInputChains, 1, 1,
17776
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINPDrm_Int), 0|OPFL_Chain|OPFL_MemRefs,
17777
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
17780
OPC_CheckPatternPredicate, 1,
17781
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINPDrr_Int), 0,
17782
1, MVT::v2f64, 2, 0, 1,
17785
OPC_CheckInteger, 1|128,4,
17789
OPC_CheckOpcode, ISD::LOAD,
17790
OPC_CheckPredicate, 4,
17791
OPC_CheckPredicate, 9,
17792
OPC_CheckPredicate, 24,
17795
OPC_CheckFoldableChainNode,
17798
OPC_CheckPatternPredicate, 1,
17799
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17800
OPC_EmitMergeInputChains, 1, 0,
17801
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPS2DQrm), 0|OPFL_Chain|OPFL_MemRefs,
17802
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
17805
OPC_CheckPatternPredicate, 1,
17806
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPS2DQrr), 0,
17807
1, MVT::v4i32, 1, 0,
17810
OPC_CheckInteger, 10|128,4,
17814
OPC_CheckOpcode, ISD::LOAD,
17815
OPC_CheckPredicate, 4,
17816
OPC_CheckPredicate, 9,
17817
OPC_CheckPredicate, 24,
17820
OPC_CheckFoldableChainNode,
17823
OPC_CheckPatternPredicate, 1,
17824
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17825
OPC_EmitMergeInputChains, 1, 0,
17826
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTPS2DQrm), 0|OPFL_Chain|OPFL_MemRefs,
17827
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
17830
OPC_CheckPatternPredicate, 1,
17831
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTPS2DQrr), 0,
17832
1, MVT::v4i32, 1, 0,
17835
OPC_CheckInteger, 127|128,3,
17839
OPC_CheckOpcode, ISD::LOAD,
17840
OPC_CheckPredicate, 4,
17841
OPC_CheckPredicate, 9,
17842
OPC_CheckPredicate, 24,
17845
OPC_CheckFoldableChainNode,
17848
OPC_CheckPatternPredicate, 1,
17849
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17850
OPC_EmitMergeInputChains, 1, 0,
17851
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPD2DQrm), 0|OPFL_Chain|OPFL_MemRefs,
17852
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
17855
OPC_CheckPatternPredicate, 1,
17856
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPD2DQrr), 0,
17857
1, MVT::v4i32, 1, 0,
17860
OPC_CheckInteger, 9|128,4,
17864
OPC_CheckOpcode, ISD::LOAD,
17865
OPC_CheckPredicate, 4,
17866
OPC_CheckPredicate, 9,
17867
OPC_CheckPredicate, 24,
17870
OPC_CheckFoldableChainNode,
17873
OPC_CheckPatternPredicate, 1,
17874
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17875
OPC_EmitMergeInputChains, 1, 0,
17876
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTPD2DQrm), 0|OPFL_Chain|OPFL_MemRefs,
17877
1, MVT::v4i32, 5, 2, 3, 4, 5, 6,
17880
OPC_CheckPatternPredicate, 1,
17881
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTPD2DQrr), 0,
17882
1, MVT::v4i32, 1, 0,
17885
OPC_CheckInteger, 2|128,4,
17889
OPC_CheckOpcode, ISD::LOAD,
17890
OPC_CheckPredicate, 4,
17891
OPC_CheckPredicate, 9,
17894
OPC_CheckFoldableChainNode,
17897
OPC_CheckPatternPredicate, 1,
17898
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17899
OPC_EmitMergeInputChains, 1, 0,
17900
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPS2PDrm), 0|OPFL_Chain|OPFL_MemRefs,
17901
1, MVT::v2f64, 5, 2, 3, 4, 5, 6,
17904
OPC_CheckPatternPredicate, 1,
17905
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPS2PDrr), 0,
17906
1, MVT::v2f64, 1, 0,
17909
OPC_CheckInteger, 0|128,4,
17913
OPC_CheckOpcode, ISD::LOAD,
17914
OPC_CheckPredicate, 4,
17915
OPC_CheckPredicate, 9,
17916
OPC_CheckPredicate, 24,
17919
OPC_CheckFoldableChainNode,
17922
OPC_CheckPatternPredicate, 1,
17923
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
17924
OPC_EmitMergeInputChains, 1, 0,
17925
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPD2PSrm), 0|OPFL_Chain|OPFL_MemRefs,
17926
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
17929
OPC_CheckPatternPredicate, 1,
17930
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPD2PSrr), 0,
17931
1, MVT::v4f32, 1, 0,
17934
OPC_CheckInteger, 6|128,4,
17939
OPC_CheckOpcode, ISD::LOAD,
17940
OPC_CheckPredicate, 4,
17941
OPC_CheckPredicate, 5,
17944
OPC_CheckFoldableChainNode,
17947
OPC_CheckPatternPredicate, 1,
17948
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17949
OPC_EmitMergeInputChains, 1, 1,
17950
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSI2SDrm), 0|OPFL_Chain|OPFL_MemRefs,
17951
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
17954
OPC_CheckPatternPredicate, 1,
17955
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSI2SDrr), 0,
17956
1, MVT::v2f64, 2, 0, 1,
17959
OPC_CheckInteger, 5|128,4,
17964
OPC_CheckOpcode, ISD::LOAD,
17965
OPC_CheckPredicate, 4,
17966
OPC_CheckPredicate, 9,
17969
OPC_CheckFoldableChainNode,
17972
OPC_CheckPatternPredicate, 1,
17973
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17974
OPC_EmitMergeInputChains, 1, 1,
17975
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSD2SSrm), 0|OPFL_Chain|OPFL_MemRefs,
17976
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
17979
OPC_CheckPatternPredicate, 1,
17980
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSD2SSrr), 0,
17981
1, MVT::v4f32, 2, 0, 1,
17984
OPC_CheckInteger, 8|128,4,
17989
OPC_CheckOpcode, ISD::LOAD,
17990
OPC_CheckPredicate, 4,
17991
OPC_CheckPredicate, 9,
17994
OPC_CheckFoldableChainNode,
17997
OPC_CheckPatternPredicate, 1,
17998
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
17999
OPC_EmitMergeInputChains, 1, 1,
18000
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSS2SDrm), 0|OPFL_Chain|OPFL_MemRefs,
18001
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
18004
OPC_CheckPatternPredicate, 1,
18005
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTSS2SDrr), 0,
18006
1, MVT::v2f64, 2, 0, 1,
18009
OPC_CheckInteger, 77|128,4,
18013
OPC_CheckOpcode, ISD::LOAD,
18014
OPC_CheckPredicate, 4,
18015
OPC_CheckPredicate, 9,
18016
OPC_CheckPredicate, 24,
18019
OPC_CheckFoldableChainNode,
18022
OPC_CheckPatternPredicate, 1,
18023
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
18024
OPC_EmitMergeInputChains, 1, 0,
18025
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTPDm_Int), 0|OPFL_Chain|OPFL_MemRefs,
18026
1, MVT::v2f64, 5, 2, 3, 4, 5, 6,
18029
OPC_CheckPatternPredicate, 1,
18030
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTPDr_Int), 0,
18031
1, MVT::v2f64, 1, 0,
18034
OPC_CheckInteger, 90|128,4,
18039
OPC_CheckOpcode, ISD::LOAD,
18040
OPC_CheckPredicate, 4,
18041
OPC_CheckPredicate, 9,
18042
OPC_CheckPredicate, 24,
18045
OPC_CheckFoldableChainNode,
18048
OPC_CheckPatternPredicate, 9,
18049
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18050
OPC_EmitMergeInputChains, 1, 1,
18051
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSUBPSrm), 0|OPFL_Chain|OPFL_MemRefs,
18052
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
18055
OPC_CheckPatternPredicate, 9,
18056
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSUBPSrr), 0,
18057
1, MVT::v4f32, 2, 0, 1,
18060
OPC_CheckInteger, 89|128,4,
18065
OPC_CheckOpcode, ISD::LOAD,
18066
OPC_CheckPredicate, 4,
18067
OPC_CheckPredicate, 9,
18068
OPC_CheckPredicate, 24,
18071
OPC_CheckFoldableChainNode,
18074
OPC_CheckPatternPredicate, 9,
18075
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18076
OPC_EmitMergeInputChains, 1, 1,
18077
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSUBPDrm), 0|OPFL_Chain|OPFL_MemRefs,
18078
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
18081
OPC_CheckPatternPredicate, 9,
18082
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSUBPDrr), 0,
18083
1, MVT::v2f64, 2, 0, 1,
18086
OPC_CheckInteger, 92|128,4,
18091
OPC_CheckOpcode, ISD::LOAD,
18092
OPC_CheckPredicate, 4,
18093
OPC_CheckPredicate, 9,
18094
OPC_CheckPredicate, 24,
18097
OPC_CheckFoldableChainNode,
18100
OPC_CheckPatternPredicate, 9,
18101
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18102
OPC_EmitMergeInputChains, 1, 1,
18103
OPC_MorphNodeTo, TARGET_OPCODE(X86::HADDPSrm), 0|OPFL_Chain|OPFL_MemRefs,
18104
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
18107
OPC_CheckPatternPredicate, 9,
18108
OPC_MorphNodeTo, TARGET_OPCODE(X86::HADDPSrr), 0,
18109
1, MVT::v4f32, 2, 0, 1,
18112
OPC_CheckInteger, 91|128,4,
18117
OPC_CheckOpcode, ISD::LOAD,
18118
OPC_CheckPredicate, 4,
18119
OPC_CheckPredicate, 9,
18120
OPC_CheckPredicate, 24,
18123
OPC_CheckFoldableChainNode,
18126
OPC_CheckPatternPredicate, 9,
18127
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18128
OPC_EmitMergeInputChains, 1, 1,
18129
OPC_MorphNodeTo, TARGET_OPCODE(X86::HADDPDrm), 0|OPFL_Chain|OPFL_MemRefs,
18130
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
18133
OPC_CheckPatternPredicate, 9,
18134
OPC_MorphNodeTo, TARGET_OPCODE(X86::HADDPDrr), 0,
18135
1, MVT::v2f64, 2, 0, 1,
18138
OPC_CheckInteger, 94|128,4,
18143
OPC_CheckOpcode, ISD::LOAD,
18144
OPC_CheckPredicate, 4,
18145
OPC_CheckPredicate, 9,
18146
OPC_CheckPredicate, 24,
18149
OPC_CheckFoldableChainNode,
18152
OPC_CheckPatternPredicate, 9,
18153
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18154
OPC_EmitMergeInputChains, 1, 1,
18155
OPC_MorphNodeTo, TARGET_OPCODE(X86::HSUBPSrm), 0|OPFL_Chain|OPFL_MemRefs,
18156
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
18159
OPC_CheckPatternPredicate, 9,
18160
OPC_MorphNodeTo, TARGET_OPCODE(X86::HSUBPSrr), 0,
18161
1, MVT::v4f32, 2, 0, 1,
18164
OPC_CheckInteger, 93|128,4,
18169
OPC_CheckOpcode, ISD::LOAD,
18170
OPC_CheckPredicate, 4,
18171
OPC_CheckPredicate, 9,
18172
OPC_CheckPredicate, 24,
18175
OPC_CheckFoldableChainNode,
18178
OPC_CheckPatternPredicate, 9,
18179
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18180
OPC_EmitMergeInputChains, 1, 1,
18181
OPC_MorphNodeTo, TARGET_OPCODE(X86::HSUBPDrm), 0|OPFL_Chain|OPFL_MemRefs,
18182
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
18185
OPC_CheckPatternPredicate, 9,
18186
OPC_MorphNodeTo, TARGET_OPCODE(X86::HSUBPDrr), 0,
18187
1, MVT::v2f64, 2, 0, 1,
18190
OPC_CheckInteger, 9|128,5,
18195
OPC_CheckOpcode, ISD::LOAD,
18196
OPC_CheckPredicate, 4,
18197
OPC_CheckPredicate, 9,
18198
OPC_CheckPredicate, 24,
18201
OPC_CheckFoldableChainNode,
18204
OPC_CheckPatternPredicate, 4,
18205
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18206
OPC_EmitMergeInputChains, 1, 1,
18207
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULLDrm_int), 0|OPFL_Chain|OPFL_MemRefs,
18208
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
18211
OPC_CheckOpcode, ISD::LOAD,
18212
OPC_CheckPredicate, 4,
18213
OPC_CheckPredicate, 9,
18214
OPC_CheckPredicate, 24,
18217
OPC_CheckFoldableChainNode,
18221
OPC_CheckPatternPredicate, 4,
18222
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
18223
OPC_EmitMergeInputChains, 1, 0,
18224
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULLDrm_int), 0|OPFL_Chain|OPFL_MemRefs,
18225
1, MVT::v4i32, 6, 2, 3, 4, 5, 6, 7,
18229
OPC_CheckPatternPredicate, 4,
18230
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULLDrr_int), 0,
18231
1, MVT::v4i32, 2, 0, 1,
18234
OPC_CheckInteger, 20|128,5,
18239
OPC_CheckOpcode, ISD::LOAD,
18240
OPC_CheckPredicate, 4,
18241
OPC_CheckPredicate, 9,
18244
OPC_CheckFoldableChainNode,
18247
OPC_CheckPatternPredicate, 14,
18248
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18249
OPC_EmitMergeInputChains, 1, 1,
18250
OPC_MorphNodeTo, TARGET_OPCODE(X86::CRC32m8), 0|OPFL_Chain|OPFL_MemRefs,
18251
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
18254
OPC_CheckPatternPredicate, 14,
18255
OPC_MorphNodeTo, TARGET_OPCODE(X86::CRC32r8), 0,
18256
1, MVT::i32, 2, 0, 1,
18259
OPC_CheckInteger, 17|128,5,
18264
OPC_CheckOpcode, ISD::LOAD,
18265
OPC_CheckPredicate, 4,
18266
OPC_CheckPredicate, 9,
18269
OPC_CheckFoldableChainNode,
18272
OPC_CheckPatternPredicate, 14,
18273
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18274
OPC_EmitMergeInputChains, 1, 1,
18275
OPC_MorphNodeTo, TARGET_OPCODE(X86::CRC32m16), 0|OPFL_Chain|OPFL_MemRefs,
18276
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
18279
OPC_CheckPatternPredicate, 14,
18280
OPC_MorphNodeTo, TARGET_OPCODE(X86::CRC32r16), 0,
18281
1, MVT::i32, 2, 0, 1,
18284
OPC_CheckInteger, 18|128,5,
18289
OPC_CheckOpcode, ISD::LOAD,
18290
OPC_CheckPredicate, 4,
18291
OPC_CheckPredicate, 9,
18294
OPC_CheckFoldableChainNode,
18297
OPC_CheckPatternPredicate, 14,
18298
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18299
OPC_EmitMergeInputChains, 1, 1,
18300
OPC_MorphNodeTo, TARGET_OPCODE(X86::CRC32m32), 0|OPFL_Chain|OPFL_MemRefs,
18301
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
18304
OPC_CheckPatternPredicate, 14,
18305
OPC_MorphNodeTo, TARGET_OPCODE(X86::CRC32r32), 0,
18306
1, MVT::i32, 2, 0, 1,
18309
OPC_CheckInteger, 19|128,5,
18314
OPC_CheckOpcode, ISD::LOAD,
18315
OPC_CheckPredicate, 4,
18316
OPC_CheckPredicate, 9,
18319
OPC_CheckFoldableChainNode,
18322
OPC_CheckPatternPredicate, 14,
18323
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18324
OPC_EmitMergeInputChains, 1, 1,
18325
OPC_MorphNodeTo, TARGET_OPCODE(X86::CRC64m64), 0|OPFL_Chain|OPFL_MemRefs,
18326
1, MVT::i64, 6, 0, 3, 4, 5, 6, 7,
18329
OPC_CheckPatternPredicate, 14,
18330
OPC_MorphNodeTo, TARGET_OPCODE(X86::CRC64r64), 0,
18331
1, MVT::i64, 2, 0, 1,
18334
OPC_CheckInteger, 16|128,5,
18340
OPC_CheckOpcode, ISD::Constant,
18342
OPC_CheckPatternPredicate, 4,
18344
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
18345
OPC_EmitMergeInputChains, 1, 8,
18346
OPC_EmitConvertToTarget, 2,
18347
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROUNDSSm_Int), 0|OPFL_Chain,
18348
1, MVT::v4f32, 7, 0, 3, 4, 5, 6, 7, 9,
18350
OPC_EmitConvertToTarget, 2,
18351
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROUNDSSr_Int), 0,
18352
1, MVT::v4f32, 3, 0, 1, 3,
18355
OPC_CheckInteger, 15|128,5,
18361
OPC_CheckOpcode, ISD::Constant,
18363
OPC_CheckPatternPredicate, 4,
18365
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
18366
OPC_EmitMergeInputChains, 1, 8,
18367
OPC_EmitConvertToTarget, 2,
18368
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROUNDSDm_Int), 0|OPFL_Chain,
18369
1, MVT::v2f64, 7, 0, 3, 4, 5, 6, 7, 9,
18371
OPC_EmitConvertToTarget, 2,
18372
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROUNDSDr_Int), 0,
18373
1, MVT::v2f64, 3, 0, 1, 3,
18376
OPC_CheckInteger, 36|128,5,
18380
OPC_CheckPatternPredicate, 0,
18382
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
18383
OPC_EmitMergeInputChains, 1, 7,
18384
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSSrm_Int), 0|OPFL_Chain,
18385
1, MVT::v4f32, 6, 0, 2, 3, 4, 5, 6,
18387
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSSrr_Int), 0,
18388
1, MVT::v4f32, 2, 0, 1,
18391
OPC_CheckInteger, 66|128,5,
18395
OPC_CheckPatternPredicate, 0,
18397
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
18398
OPC_EmitMergeInputChains, 1, 7,
18399
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULSSrm_Int), 0|OPFL_Chain,
18400
1, MVT::v4f32, 6, 0, 2, 3, 4, 5, 6,
18402
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULSSrr_Int), 0,
18403
1, MVT::v4f32, 2, 0, 1,
18406
OPC_CheckInteger, 76|128,5,
18410
OPC_CheckPatternPredicate, 0,
18412
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
18413
OPC_EmitMergeInputChains, 1, 7,
18414
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBSSrm_Int), 0|OPFL_Chain,
18415
1, MVT::v4f32, 6, 0, 2, 3, 4, 5, 6,
18417
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBSSrr_Int), 0,
18418
1, MVT::v4f32, 2, 0, 1,
18421
OPC_CheckInteger, 57|128,5,
18425
OPC_CheckPatternPredicate, 0,
18427
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
18428
OPC_EmitMergeInputChains, 1, 7,
18429
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVSSrm_Int), 0|OPFL_Chain,
18430
1, MVT::v4f32, 6, 0, 2, 3, 4, 5, 6,
18432
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVSSrr_Int), 0,
18433
1, MVT::v4f32, 2, 0, 1,
18436
OPC_CheckInteger, 61|128,5,
18440
OPC_CheckPatternPredicate, 0,
18442
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
18443
OPC_EmitMergeInputChains, 1, 7,
18444
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXSSrm_Int), 0|OPFL_Chain,
18445
1, MVT::v4f32, 6, 0, 2, 3, 4, 5, 6,
18447
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXSSrr_Int), 0,
18448
1, MVT::v4f32, 2, 0, 1,
18451
OPC_CheckInteger, 63|128,5,
18455
OPC_CheckPatternPredicate, 0,
18457
OPC_CheckComplexPat, /*CP*/1, /*#*/1,
18458
OPC_EmitMergeInputChains, 1, 7,
18459
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINSSrm_Int), 0|OPFL_Chain,
18460
1, MVT::v4f32, 6, 0, 2, 3, 4, 5, 6,
18462
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINSSrr_Int), 0,
18463
1, MVT::v4f32, 2, 0, 1,
18466
OPC_CheckInteger, 73|128,5,
18469
OPC_CheckPatternPredicate, 0,
18471
OPC_CheckComplexPat, /*CP*/1, /*#*/0,
18472
OPC_EmitMergeInputChains, 1, 6,
18473
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTSSm_Int), 0|OPFL_Chain,
18474
1, MVT::v4f32, 5, 1, 2, 3, 4, 5,
18476
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTSSr_Int), 0,
18477
1, MVT::v4f32, 1, 0,
18480
OPC_CheckInteger, 70|128,5,
18483
OPC_CheckPatternPredicate, 0,
18485
OPC_CheckComplexPat, /*CP*/1, /*#*/0,
18486
OPC_EmitMergeInputChains, 1, 6,
18487
OPC_MorphNodeTo, TARGET_OPCODE(X86::RSQRTSSm_Int), 0|OPFL_Chain,
18488
1, MVT::v4f32, 5, 1, 2, 3, 4, 5,
18490
OPC_MorphNodeTo, TARGET_OPCODE(X86::RSQRTSSr_Int), 0,
18491
1, MVT::v4f32, 1, 0,
18494
OPC_CheckInteger, 68|128,5,
18497
OPC_CheckPatternPredicate, 0,
18499
OPC_CheckComplexPat, /*CP*/1, /*#*/0,
18500
OPC_EmitMergeInputChains, 1, 6,
18501
OPC_MorphNodeTo, TARGET_OPCODE(X86::RCPSSm_Int), 0|OPFL_Chain,
18502
1, MVT::v4f32, 5, 1, 2, 3, 4, 5,
18504
OPC_MorphNodeTo, TARGET_OPCODE(X86::RCPSSr_Int), 0,
18505
1, MVT::v4f32, 1, 0,
18508
OPC_CheckInteger, 115|128,3,
18512
OPC_CheckPatternPredicate, 1,
18514
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
18515
OPC_EmitMergeInputChains, 1, 7,
18516
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSDrm_Int), 0|OPFL_Chain,
18517
1, MVT::v2f64, 6, 0, 2, 3, 4, 5, 6,
18519
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSDrr_Int), 0,
18520
1, MVT::v2f64, 2, 0, 1,
18523
OPC_CheckInteger, 27|128,4,
18527
OPC_CheckPatternPredicate, 1,
18529
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
18530
OPC_EmitMergeInputChains, 1, 7,
18531
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULSDrm_Int), 0|OPFL_Chain,
18532
1, MVT::v2f64, 6, 0, 2, 3, 4, 5, 6,
18534
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULSDrr_Int), 0,
18535
1, MVT::v2f64, 2, 0, 1,
18538
OPC_CheckInteger, 82|128,4,
18542
OPC_CheckPatternPredicate, 1,
18544
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
18545
OPC_EmitMergeInputChains, 1, 7,
18546
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBSDrm_Int), 0|OPFL_Chain,
18547
1, MVT::v2f64, 6, 0, 2, 3, 4, 5, 6,
18549
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBSDrr_Int), 0,
18550
1, MVT::v2f64, 2, 0, 1,
18553
OPC_CheckInteger, 13|128,4,
18557
OPC_CheckPatternPredicate, 1,
18559
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
18560
OPC_EmitMergeInputChains, 1, 7,
18561
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVSDrm_Int), 0|OPFL_Chain,
18562
1, MVT::v2f64, 6, 0, 2, 3, 4, 5, 6,
18564
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVSDrr_Int), 0,
18565
1, MVT::v2f64, 2, 0, 1,
18568
OPC_CheckInteger, 19|128,4,
18572
OPC_CheckPatternPredicate, 1,
18574
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
18575
OPC_EmitMergeInputChains, 1, 7,
18576
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXSDrm_Int), 0|OPFL_Chain,
18577
1, MVT::v2f64, 6, 0, 2, 3, 4, 5, 6,
18579
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXSDrr_Int), 0,
18580
1, MVT::v2f64, 2, 0, 1,
18583
OPC_CheckInteger, 22|128,4,
18587
OPC_CheckPatternPredicate, 1,
18589
OPC_CheckComplexPat, /*CP*/2, /*#*/1,
18590
OPC_EmitMergeInputChains, 1, 7,
18591
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINSDrm_Int), 0|OPFL_Chain,
18592
1, MVT::v2f64, 6, 0, 2, 3, 4, 5, 6,
18594
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINSDrr_Int), 0,
18595
1, MVT::v2f64, 2, 0, 1,
18598
OPC_CheckInteger, 78|128,4,
18601
OPC_CheckPatternPredicate, 1,
18603
OPC_CheckComplexPat, /*CP*/2, /*#*/0,
18604
OPC_EmitMergeInputChains, 1, 6,
18605
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTSDm_Int), 0|OPFL_Chain,
18606
1, MVT::v2f64, 5, 1, 2, 3, 4, 5,
18608
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTSDr_Int), 0,
18609
1, MVT::v2f64, 1, 0,
18612
OPC_CheckInteger, 60|128,4,
18617
OPC_CheckOpcode, ISD::Constant,
18619
OPC_CheckPatternPredicate, 1,
18620
OPC_EmitConvertToTarget, 1,
18621
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSLLWri), 0,
18622
1, MVT::v8i16, 2, 0, 2,
18624
OPC_CheckInteger, 58|128,4,
18629
OPC_CheckOpcode, ISD::Constant,
18631
OPC_CheckPatternPredicate, 1,
18632
OPC_EmitConvertToTarget, 1,
18633
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSLLDri), 0,
18634
1, MVT::v4i32, 2, 0, 2,
18636
OPC_CheckInteger, 59|128,4,
18641
OPC_CheckOpcode, ISD::Constant,
18643
OPC_CheckPatternPredicate, 1,
18644
OPC_EmitConvertToTarget, 1,
18645
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSLLQri), 0,
18646
1, MVT::v2i64, 2, 0, 2,
18648
OPC_CheckInteger, 72|128,4,
18653
OPC_CheckOpcode, ISD::Constant,
18655
OPC_CheckPatternPredicate, 1,
18656
OPC_EmitConvertToTarget, 1,
18657
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRLWri), 0,
18658
1, MVT::v8i16, 2, 0, 2,
18660
OPC_CheckInteger, 70|128,4,
18665
OPC_CheckOpcode, ISD::Constant,
18667
OPC_CheckPatternPredicate, 1,
18668
OPC_EmitConvertToTarget, 1,
18669
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRLDri), 0,
18670
1, MVT::v4i32, 2, 0, 2,
18672
OPC_CheckInteger, 71|128,4,
18677
OPC_CheckOpcode, ISD::Constant,
18679
OPC_CheckPatternPredicate, 1,
18680
OPC_EmitConvertToTarget, 1,
18681
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRLQri), 0,
18682
1, MVT::v2i64, 2, 0, 2,
18684
OPC_CheckInteger, 64|128,4,
18689
OPC_CheckOpcode, ISD::Constant,
18691
OPC_CheckPatternPredicate, 1,
18692
OPC_EmitConvertToTarget, 1,
18693
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRAWri), 0,
18694
1, MVT::v8i16, 2, 0, 2,
18696
OPC_CheckInteger, 63|128,4,
18701
OPC_CheckOpcode, ISD::Constant,
18703
OPC_CheckPatternPredicate, 1,
18704
OPC_EmitConvertToTarget, 1,
18705
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRADri), 0,
18706
1, MVT::v4i32, 2, 0, 2,
18708
OPC_CheckInteger, 54|128,4,
18713
OPC_CheckOpcode, ISD::Constant,
18715
OPC_CheckPatternPredicate, 1,
18716
OPC_EmitConvertToTarget, 1,
18717
OPC_EmitNodeXForm, 5, 2,
18718
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSLLDQri), 0,
18719
1, MVT::v2i64, 2, 0, 3,
18721
OPC_CheckInteger, 66|128,4,
18726
OPC_CheckOpcode, ISD::Constant,
18728
OPC_CheckPatternPredicate, 1,
18729
OPC_EmitConvertToTarget, 1,
18730
OPC_EmitNodeXForm, 5, 2,
18731
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRLDQri), 0,
18732
1, MVT::v2i64, 2, 0, 3,
18734
OPC_CheckInteger, 55|128,4,
18739
OPC_CheckOpcode, ISD::Constant,
18741
OPC_CheckPatternPredicate, 1,
18742
OPC_EmitConvertToTarget, 1,
18743
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSLLDQri), 0,
18744
1, MVT::v2i64, 2, 0, 2,
18746
OPC_CheckInteger, 67|128,4,
18751
OPC_CheckOpcode, ISD::Constant,
18753
OPC_CheckPatternPredicate, 1,
18754
OPC_EmitConvertToTarget, 1,
18755
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRLDQri), 0,
18756
1, MVT::v2i64, 2, 0, 2,
18758
OPC_CheckInteger, 105|128,4,
18764
OPC_CheckOpcode, ISD::Constant,
18766
OPC_EmitConvertToTarget, 2,
18767
OPC_MorphNodeTo, TARGET_OPCODE(X86::INSERTPSrr), 0,
18768
1, MVT::v4f32, 3, 0, 1, 3,
18770
OPC_CheckInteger, 110|128,3,
18775
OPC_CheckOpcode, ISD::Constant,
18777
OPC_CheckPatternPredicate, 8,
18778
OPC_EmitConvertToTarget, 1,
18779
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRLWri), 0,
18780
1, MVT::v4i16, 2, 0, 2,
18782
OPC_CheckInteger, 108|128,3,
18787
OPC_CheckOpcode, ISD::Constant,
18789
OPC_CheckPatternPredicate, 8,
18790
OPC_EmitConvertToTarget, 1,
18791
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRLDri), 0,
18792
1, MVT::v2i32, 2, 0, 2,
18794
OPC_CheckInteger, 109|128,3,
18799
OPC_CheckOpcode, ISD::Constant,
18801
OPC_CheckPatternPredicate, 8,
18802
OPC_EmitConvertToTarget, 1,
18803
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRLQri), 0,
18804
1, MVT::v1i64, 2, 0, 2,
18806
OPC_CheckInteger, 100|128,3,
18811
OPC_CheckOpcode, ISD::Constant,
18813
OPC_CheckPatternPredicate, 8,
18814
OPC_EmitConvertToTarget, 1,
18815
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSLLWri), 0,
18816
1, MVT::v4i16, 2, 0, 2,
18818
OPC_CheckInteger, 98|128,3,
18823
OPC_CheckOpcode, ISD::Constant,
18825
OPC_CheckPatternPredicate, 8,
18826
OPC_EmitConvertToTarget, 1,
18827
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSLLDri), 0,
18828
1, MVT::v2i32, 2, 0, 2,
18830
OPC_CheckInteger, 99|128,3,
18835
OPC_CheckOpcode, ISD::Constant,
18837
OPC_CheckPatternPredicate, 8,
18838
OPC_EmitConvertToTarget, 1,
18839
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSLLQri), 0,
18840
1, MVT::v1i64, 2, 0, 2,
18842
OPC_CheckInteger, 104|128,3,
18847
OPC_CheckOpcode, ISD::Constant,
18849
OPC_CheckPatternPredicate, 8,
18850
OPC_EmitConvertToTarget, 1,
18851
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRAWri), 0,
18852
1, MVT::v4i16, 2, 0, 2,
18854
OPC_CheckInteger, 103|128,3,
18859
OPC_CheckOpcode, ISD::Constant,
18861
OPC_CheckPatternPredicate, 8,
18862
OPC_EmitConvertToTarget, 1,
18863
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRADri), 0,
18864
1, MVT::v2i32, 2, 0, 2,
18866
OPC_CheckInteger, 64|128,5,
18869
OPC_CheckPatternPredicate, 0,
18870
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVMSKPSrr), 0,
18873
OPC_CheckInteger, 23|128,4,
18876
OPC_CheckPatternPredicate, 1,
18877
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVMSKPDrr), 0,
18880
OPC_CheckInteger, 48|128,4,
18883
OPC_CheckPatternPredicate, 1,
18884
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMOVMSKBrr), 0,
18887
OPC_CheckInteger, 90|128,3,
18890
OPC_CheckPatternPredicate, 8,
18891
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMOVMSKBrr), 0,
18894
1|128,33, ISD::AND,
18895
OPC_Scope, 14|128,15,
18897
OPC_SwitchOpcode , 41|128,7, ISD::XOR,
18898
OPC_Scope, 45|128,1,
18900
OPC_CheckOpcode, ISD::BIT_CONVERT,
18903
OPC_CheckChild0Type, MVT::v4f32,
18906
OPC_CheckOpcode, ISD::BIT_CONVERT,
18908
OPC_CheckOpcode, ISD::BUILD_VECTOR,
18909
OPC_CheckPredicate, 67,
18910
OPC_CheckType, MVT::v4i32,
18915
OPC_CheckOpcode, ISD::LOAD,
18916
OPC_CheckPredicate, 4,
18917
OPC_CheckPredicate, 9,
18918
OPC_CheckPredicate, 24,
18921
OPC_CheckFoldableChainNode,
18924
OPC_CheckType, MVT::v2i64,
18925
OPC_CheckPatternPredicate, 0,
18926
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18927
OPC_EmitMergeInputChains, 1, 1,
18928
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPSrm), 0|OPFL_Chain|OPFL_MemRefs,
18929
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
18932
OPC_CheckOpcode, ISD::BUILD_VECTOR,
18933
OPC_CheckPredicate, 67,
18934
OPC_CheckType, MVT::v4i32,
18938
OPC_CheckOpcode, ISD::BIT_CONVERT,
18940
OPC_CheckChild0Type, MVT::v4f32,
18944
OPC_CheckOpcode, ISD::LOAD,
18945
OPC_CheckPredicate, 4,
18946
OPC_CheckPredicate, 9,
18947
OPC_CheckPredicate, 24,
18950
OPC_CheckFoldableChainNode,
18953
OPC_CheckType, MVT::v2i64,
18954
OPC_CheckPatternPredicate, 0,
18955
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18956
OPC_EmitMergeInputChains, 1, 1,
18957
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPSrm), 0|OPFL_Chain|OPFL_MemRefs,
18958
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
18961
OPC_CheckChild0Type, MVT::v2f64,
18964
OPC_CheckOpcode, ISD::BUILD_VECTOR,
18965
OPC_CheckPredicate, 67,
18969
OPC_CheckOpcode, ISD::LOAD,
18970
OPC_CheckPredicate, 4,
18971
OPC_CheckPredicate, 9,
18972
OPC_CheckPredicate, 24,
18975
OPC_CheckFoldableChainNode,
18978
OPC_CheckType, MVT::v2i64,
18979
OPC_CheckPatternPredicate, 1,
18980
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
18981
OPC_EmitMergeInputChains, 1, 1,
18982
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPDrm), 0|OPFL_Chain|OPFL_MemRefs,
18983
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
18988
OPC_CheckOpcode, ISD::BIT_CONVERT,
18990
OPC_SwitchOpcode , 44|128,1, ISD::BUILD_VECTOR,
18991
OPC_CheckPredicate, 67,
18992
OPC_SwitchType , 41, MVT::v4i32,
18997
OPC_CheckOpcode, ISD::LOAD,
18998
OPC_CheckPredicate, 4,
18999
OPC_CheckPredicate, 9,
19000
OPC_CheckPredicate, 24,
19003
OPC_CheckFoldableChainNode,
19006
OPC_CheckType, MVT::v2i64,
19007
OPC_CheckPatternPredicate, 1,
19008
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19009
OPC_EmitMergeInputChains, 1, 1,
19010
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19011
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
19017
OPC_CheckOpcode, ISD::LOAD,
19018
OPC_CheckPredicate, 4,
19019
OPC_CheckPredicate, 9,
19020
OPC_CheckPredicate, 24,
19023
OPC_CheckFoldableChainNode,
19026
OPC_CheckType, MVT::v2i64,
19027
OPC_CheckPatternPredicate, 1,
19028
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19029
OPC_EmitMergeInputChains, 1, 1,
19030
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19031
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
19037
OPC_CheckOpcode, ISD::LOAD,
19038
OPC_CheckPredicate, 4,
19039
OPC_CheckPredicate, 9,
19040
OPC_CheckPredicate, 24,
19043
OPC_CheckFoldableChainNode,
19046
OPC_CheckType, MVT::v2i64,
19047
OPC_CheckPatternPredicate, 1,
19048
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19049
OPC_EmitMergeInputChains, 1, 1,
19050
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19051
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
19057
OPC_CheckOpcode, ISD::LOAD,
19058
OPC_CheckPredicate, 4,
19059
OPC_CheckPredicate, 9,
19062
OPC_CheckFoldableChainNode,
19065
OPC_CheckType, MVT::v1i64,
19066
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19067
OPC_EmitMergeInputChains, 1, 1,
19068
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19069
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
19071
82, ISD::BIT_CONVERT,
19072
OPC_CheckPredicate, 68,
19073
OPC_SwitchType , 37, MVT::v4i16,
19078
OPC_CheckOpcode, ISD::LOAD,
19079
OPC_CheckPredicate, 4,
19080
OPC_CheckPredicate, 9,
19083
OPC_CheckFoldableChainNode,
19086
OPC_CheckType, MVT::v1i64,
19087
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19088
OPC_EmitMergeInputChains, 1, 1,
19089
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19090
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
19096
OPC_CheckOpcode, ISD::LOAD,
19097
OPC_CheckPredicate, 4,
19098
OPC_CheckPredicate, 9,
19101
OPC_CheckFoldableChainNode,
19104
OPC_CheckType, MVT::v1i64,
19105
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19106
OPC_EmitMergeInputChains, 1, 1,
19107
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19108
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
19113
OPC_SwitchOpcode , 50, ISD::BUILD_VECTOR,
19114
OPC_CheckPredicate, 67,
19117
OPC_CheckOpcode, ISD::BIT_CONVERT,
19119
OPC_CheckChild0Type, MVT::v2f64,
19123
OPC_CheckOpcode, ISD::LOAD,
19124
OPC_CheckPredicate, 4,
19125
OPC_CheckPredicate, 9,
19126
OPC_CheckPredicate, 24,
19129
OPC_CheckFoldableChainNode,
19132
OPC_CheckType, MVT::v2i64,
19133
OPC_CheckPatternPredicate, 1,
19134
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19135
OPC_EmitMergeInputChains, 1, 1,
19136
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPDrm), 0|OPFL_Chain|OPFL_MemRefs,
19137
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
19138
13|128,2, ISD::BIT_CONVERT,
19140
OPC_SwitchOpcode , 48|128,1, ISD::BUILD_VECTOR,
19141
OPC_CheckPredicate, 67,
19142
OPC_SwitchType , 42, MVT::v4i32,
19148
OPC_CheckOpcode, ISD::LOAD,
19149
OPC_CheckPredicate, 4,
19150
OPC_CheckPredicate, 9,
19151
OPC_CheckPredicate, 24,
19154
OPC_CheckFoldableChainNode,
19157
OPC_CheckType, MVT::v2i64,
19158
OPC_CheckPatternPredicate, 1,
19159
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19160
OPC_EmitMergeInputChains, 1, 1,
19161
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19162
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
19169
OPC_CheckOpcode, ISD::LOAD,
19170
OPC_CheckPredicate, 4,
19171
OPC_CheckPredicate, 9,
19172
OPC_CheckPredicate, 24,
19175
OPC_CheckFoldableChainNode,
19178
OPC_CheckType, MVT::v2i64,
19179
OPC_CheckPatternPredicate, 1,
19180
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19181
OPC_EmitMergeInputChains, 1, 1,
19182
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19183
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
19190
OPC_CheckOpcode, ISD::LOAD,
19191
OPC_CheckPredicate, 4,
19192
OPC_CheckPredicate, 9,
19193
OPC_CheckPredicate, 24,
19196
OPC_CheckFoldableChainNode,
19199
OPC_CheckType, MVT::v2i64,
19200
OPC_CheckPatternPredicate, 1,
19201
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19202
OPC_EmitMergeInputChains, 1, 1,
19203
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19204
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
19211
OPC_CheckOpcode, ISD::LOAD,
19212
OPC_CheckPredicate, 4,
19213
OPC_CheckPredicate, 9,
19216
OPC_CheckFoldableChainNode,
19219
OPC_CheckType, MVT::v1i64,
19220
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19221
OPC_EmitMergeInputChains, 1, 1,
19222
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19223
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
19225
84, ISD::BIT_CONVERT,
19226
OPC_CheckPredicate, 68,
19227
OPC_SwitchType , 38, MVT::v4i16,
19233
OPC_CheckOpcode, ISD::LOAD,
19234
OPC_CheckPredicate, 4,
19235
OPC_CheckPredicate, 9,
19238
OPC_CheckFoldableChainNode,
19241
OPC_CheckType, MVT::v1i64,
19242
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19243
OPC_EmitMergeInputChains, 1, 1,
19244
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19245
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
19252
OPC_CheckOpcode, ISD::LOAD,
19253
OPC_CheckPredicate, 4,
19254
OPC_CheckPredicate, 9,
19257
OPC_CheckFoldableChainNode,
19260
OPC_CheckType, MVT::v1i64,
19261
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19262
OPC_EmitMergeInputChains, 1, 1,
19263
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19264
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
19271
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19272
OPC_CheckPredicate, 67,
19276
OPC_CheckOpcode, ISD::LOAD,
19277
OPC_CheckPredicate, 4,
19278
OPC_CheckPredicate, 9,
19280
OPC_CheckPredicate, 24,
19283
OPC_CheckFoldableChainNode,
19286
OPC_CheckType, MVT::v2i64,
19287
OPC_CheckPatternPredicate, 1,
19288
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19289
OPC_EmitMergeInputChains, 1, 1,
19290
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19291
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
19295
OPC_CheckFoldableChainNode,
19298
OPC_CheckType, MVT::v1i64,
19299
OPC_CheckPatternPredicate, 8,
19300
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19301
OPC_EmitMergeInputChains, 1, 1,
19302
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19303
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
19307
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19308
OPC_CheckPredicate, 67,
19313
OPC_CheckOpcode, ISD::LOAD,
19314
OPC_CheckPredicate, 4,
19315
OPC_CheckPredicate, 9,
19317
OPC_CheckPredicate, 24,
19320
OPC_CheckFoldableChainNode,
19323
OPC_CheckType, MVT::v2i64,
19324
OPC_CheckPatternPredicate, 1,
19325
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19326
OPC_EmitMergeInputChains, 1, 1,
19327
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19328
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
19332
OPC_CheckFoldableChainNode,
19335
OPC_CheckType, MVT::v1i64,
19336
OPC_CheckPatternPredicate, 8,
19337
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19338
OPC_EmitMergeInputChains, 1, 1,
19339
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19340
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
19343
2|128,7, ISD::LOAD,
19344
OPC_CheckPredicate, 4,
19345
OPC_CheckPredicate, 9,
19346
OPC_Scope, 38|128,3,
19347
OPC_CheckPredicate, 24,
19350
OPC_CheckFoldableChainNode,
19354
OPC_CheckOpcode, ISD::XOR,
19355
OPC_Scope, 39|128,1,
19357
OPC_SwitchOpcode , 124, ISD::BIT_CONVERT,
19360
OPC_CheckChild0Type, MVT::v4f32,
19363
OPC_CheckOpcode, ISD::BIT_CONVERT,
19365
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19366
OPC_CheckPredicate, 67,
19367
OPC_CheckType, MVT::v4i32,
19371
OPC_CheckType, MVT::v2i64,
19372
OPC_CheckPatternPredicate, 0,
19373
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19374
OPC_EmitMergeInputChains, 1, 0,
19375
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPSrm), 0|OPFL_Chain|OPFL_MemRefs,
19376
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19379
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19380
OPC_CheckPredicate, 67,
19381
OPC_CheckType, MVT::v4i32,
19385
OPC_CheckOpcode, ISD::BIT_CONVERT,
19387
OPC_CheckChild0Type, MVT::v4f32,
19390
OPC_CheckType, MVT::v2i64,
19391
OPC_CheckPatternPredicate, 0,
19392
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19393
OPC_EmitMergeInputChains, 1, 0,
19394
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPSrm), 0|OPFL_Chain|OPFL_MemRefs,
19395
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19398
OPC_CheckChild0Type, MVT::v2f64,
19401
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19402
OPC_CheckPredicate, 67,
19405
OPC_CheckType, MVT::v2i64,
19406
OPC_CheckPatternPredicate, 1,
19407
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19408
OPC_EmitMergeInputChains, 1, 0,
19409
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPDrm), 0|OPFL_Chain|OPFL_MemRefs,
19410
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19412
35, ISD::BUILD_VECTOR,
19413
OPC_CheckPredicate, 67,
19416
OPC_CheckOpcode, ISD::BIT_CONVERT,
19418
OPC_CheckChild0Type, MVT::v2f64,
19421
OPC_CheckType, MVT::v2i64,
19422
OPC_CheckPatternPredicate, 1,
19423
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19424
OPC_EmitMergeInputChains, 1, 0,
19425
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPDrm), 0|OPFL_Chain|OPFL_MemRefs,
19426
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19431
OPC_CheckOpcode, ISD::BIT_CONVERT,
19433
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19434
OPC_CheckPredicate, 67,
19435
OPC_CheckType, MVT::v4i32,
19439
OPC_CheckType, MVT::v2i64,
19440
OPC_CheckPatternPredicate, 1,
19441
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19442
OPC_EmitMergeInputChains, 1, 0,
19443
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19444
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19447
OPC_CheckOpcode, ISD::BIT_CONVERT,
19449
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19450
OPC_CheckPredicate, 67,
19451
OPC_CheckType, MVT::v4i32,
19456
OPC_CheckType, MVT::v2i64,
19457
OPC_CheckPatternPredicate, 1,
19458
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19459
OPC_EmitMergeInputChains, 1, 0,
19460
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19461
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19465
OPC_CheckOpcode, ISD::BIT_CONVERT,
19467
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19468
OPC_CheckPredicate, 67,
19469
OPC_CheckType, MVT::v8i16,
19473
OPC_CheckType, MVT::v2i64,
19474
OPC_CheckPatternPredicate, 1,
19475
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19476
OPC_EmitMergeInputChains, 1, 0,
19477
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19478
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19481
OPC_CheckOpcode, ISD::BIT_CONVERT,
19483
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19484
OPC_CheckPredicate, 67,
19485
OPC_CheckType, MVT::v8i16,
19490
OPC_CheckType, MVT::v2i64,
19491
OPC_CheckPatternPredicate, 1,
19492
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19493
OPC_EmitMergeInputChains, 1, 0,
19494
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19495
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19499
OPC_CheckOpcode, ISD::BIT_CONVERT,
19501
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19502
OPC_CheckPredicate, 67,
19503
OPC_CheckType, MVT::v16i8,
19507
OPC_CheckType, MVT::v2i64,
19508
OPC_CheckPatternPredicate, 1,
19509
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19510
OPC_EmitMergeInputChains, 1, 0,
19511
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19512
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19515
OPC_CheckOpcode, ISD::BIT_CONVERT,
19517
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19518
OPC_CheckPredicate, 67,
19519
OPC_CheckType, MVT::v16i8,
19524
OPC_CheckType, MVT::v2i64,
19525
OPC_CheckPatternPredicate, 1,
19526
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19527
OPC_EmitMergeInputChains, 1, 0,
19528
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19529
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19534
OPC_CheckFoldableChainNode,
19538
OPC_CheckOpcode, ISD::XOR,
19542
OPC_CheckOpcode, ISD::BIT_CONVERT,
19544
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19545
OPC_CheckPredicate, 67,
19546
OPC_CheckType, MVT::v2i32,
19550
OPC_CheckType, MVT::v1i64,
19551
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19552
OPC_EmitMergeInputChains, 1, 0,
19553
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19554
1, MVT::v1i64, 6, 2, 3, 4, 5, 6, 7,
19557
OPC_CheckOpcode, ISD::BIT_CONVERT,
19559
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19560
OPC_CheckPredicate, 67,
19561
OPC_CheckType, MVT::v2i32,
19566
OPC_CheckType, MVT::v1i64,
19567
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19568
OPC_EmitMergeInputChains, 1, 0,
19569
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19570
1, MVT::v1i64, 6, 2, 3, 4, 5, 6, 7,
19574
OPC_CheckOpcode, ISD::BIT_CONVERT,
19576
OPC_CheckOpcode, ISD::BIT_CONVERT,
19577
OPC_CheckPredicate, 68,
19578
OPC_CheckType, MVT::v4i16,
19582
OPC_CheckType, MVT::v1i64,
19583
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19584
OPC_EmitMergeInputChains, 1, 0,
19585
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19586
1, MVT::v1i64, 6, 2, 3, 4, 5, 6, 7,
19589
OPC_CheckOpcode, ISD::BIT_CONVERT,
19591
OPC_CheckOpcode, ISD::BIT_CONVERT,
19592
OPC_CheckPredicate, 68,
19593
OPC_CheckType, MVT::v4i16,
19598
OPC_CheckType, MVT::v1i64,
19599
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19600
OPC_EmitMergeInputChains, 1, 0,
19601
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19602
1, MVT::v1i64, 6, 2, 3, 4, 5, 6, 7,
19606
OPC_CheckOpcode, ISD::BIT_CONVERT,
19608
OPC_CheckOpcode, ISD::BIT_CONVERT,
19609
OPC_CheckPredicate, 68,
19610
OPC_CheckType, MVT::v8i8,
19614
OPC_CheckType, MVT::v1i64,
19615
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19616
OPC_EmitMergeInputChains, 1, 0,
19617
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19618
1, MVT::v1i64, 6, 2, 3, 4, 5, 6, 7,
19621
OPC_CheckOpcode, ISD::BIT_CONVERT,
19623
OPC_CheckOpcode, ISD::BIT_CONVERT,
19624
OPC_CheckPredicate, 68,
19625
OPC_CheckType, MVT::v8i8,
19630
OPC_CheckType, MVT::v1i64,
19631
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19632
OPC_EmitMergeInputChains, 1, 0,
19633
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19634
1, MVT::v1i64, 6, 2, 3, 4, 5, 6, 7,
19637
OPC_CheckPredicate, 24,
19640
OPC_CheckFoldableChainNode,
19644
OPC_CheckOpcode, ISD::XOR,
19648
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19649
OPC_CheckPredicate, 67,
19652
OPC_CheckType, MVT::v2i64,
19653
OPC_CheckPatternPredicate, 1,
19654
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19655
OPC_EmitMergeInputChains, 1, 0,
19656
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19657
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19660
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19661
OPC_CheckPredicate, 67,
19665
OPC_CheckType, MVT::v2i64,
19666
OPC_CheckPatternPredicate, 1,
19667
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19668
OPC_EmitMergeInputChains, 1, 0,
19669
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19670
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19675
OPC_CheckFoldableChainNode,
19679
OPC_CheckOpcode, ISD::XOR,
19683
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19684
OPC_CheckPredicate, 67,
19687
OPC_CheckType, MVT::v1i64,
19688
OPC_CheckPatternPredicate, 8,
19689
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19690
OPC_EmitMergeInputChains, 1, 0,
19691
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19692
1, MVT::v1i64, 6, 2, 3, 4, 5, 6, 7,
19695
OPC_CheckOpcode, ISD::BUILD_VECTOR,
19696
OPC_CheckPredicate, 67,
19700
OPC_CheckType, MVT::v1i64,
19701
OPC_CheckPatternPredicate, 8,
19702
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19703
OPC_EmitMergeInputChains, 1, 0,
19704
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrm), 0|OPFL_Chain|OPFL_MemRefs,
19705
1, MVT::v1i64, 6, 2, 3, 4, 5, 6, 7,
19708
OPC_CheckPredicate, 24,
19711
OPC_CheckFoldableChainNode,
19715
OPC_CheckOpcode, ISD::BIT_CONVERT,
19718
OPC_CheckChild0Type, MVT::v4f32,
19720
OPC_CheckType, MVT::v2i64,
19721
OPC_CheckPatternPredicate, 0,
19722
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19723
OPC_EmitMergeInputChains, 1, 0,
19724
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDPSrm), 0|OPFL_Chain|OPFL_MemRefs,
19725
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19727
OPC_CheckChild0Type, MVT::v2f64,
19729
OPC_CheckType, MVT::v2i64,
19730
OPC_CheckPatternPredicate, 1,
19731
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19732
OPC_EmitMergeInputChains, 1, 0,
19733
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDPDrm), 0|OPFL_Chain|OPFL_MemRefs,
19734
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19737
87, ISD::BIT_CONVERT,
19740
OPC_CheckChild0Type, MVT::v4f32,
19743
OPC_CheckOpcode, ISD::LOAD,
19744
OPC_CheckPredicate, 4,
19745
OPC_CheckPredicate, 9,
19746
OPC_CheckPredicate, 24,
19749
OPC_CheckFoldableChainNode,
19752
OPC_CheckType, MVT::v2i64,
19753
OPC_CheckPatternPredicate, 0,
19754
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19755
OPC_EmitMergeInputChains, 1, 1,
19756
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDPSrm), 0|OPFL_Chain|OPFL_MemRefs,
19757
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
19759
OPC_CheckChild0Type, MVT::v2f64,
19762
OPC_CheckOpcode, ISD::LOAD,
19763
OPC_CheckPredicate, 4,
19764
OPC_CheckPredicate, 9,
19765
OPC_CheckPredicate, 24,
19768
OPC_CheckFoldableChainNode,
19771
OPC_CheckType, MVT::v2i64,
19772
OPC_CheckPatternPredicate, 1,
19773
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19774
OPC_EmitMergeInputChains, 1, 1,
19775
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDPDrm), 0|OPFL_Chain|OPFL_MemRefs,
19776
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
19782
OPC_CheckOpcode, ISD::LOAD,
19783
OPC_CheckPredicate, 4,
19785
OPC_CheckPredicate, 9,
19786
OPC_CheckPredicate, 10,
19789
OPC_CheckFoldableChainNode,
19792
OPC_CheckType, MVT::i8,
19793
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19794
OPC_EmitMergeInputChains, 1, 1,
19795
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8rm), 0|OPFL_Chain|OPFL_MemRefs,
19796
2, MVT::i8, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
19798
OPC_CheckPredicate, 6,
19801
OPC_CheckFoldableChainNode,
19804
OPC_CheckType, MVT::i16,
19805
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19806
OPC_EmitMergeInputChains, 1, 1,
19807
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16rm), 0|OPFL_Chain|OPFL_MemRefs,
19808
2, MVT::i16, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
19810
OPC_CheckPredicate, 5,
19813
OPC_CheckFoldableChainNode,
19816
OPC_CheckType, MVT::i32,
19817
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19818
OPC_EmitMergeInputChains, 1, 1,
19819
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32rm), 0|OPFL_Chain|OPFL_MemRefs,
19820
2, MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
19822
OPC_CheckPredicate, 9,
19826
OPC_CheckFoldableChainNode,
19829
OPC_CheckType, MVT::i64,
19830
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19831
OPC_EmitMergeInputChains, 1, 1,
19832
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64rm), 0|OPFL_Chain|OPFL_MemRefs,
19833
2, MVT::i64, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
19835
OPC_CheckPredicate, 24,
19838
OPC_CheckFoldableChainNode,
19841
OPC_CheckType, MVT::v2i64,
19842
OPC_CheckPatternPredicate, 1,
19843
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19844
OPC_EmitMergeInputChains, 1, 1,
19845
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDrm), 0|OPFL_Chain|OPFL_MemRefs,
19846
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
19850
OPC_CheckFoldableChainNode,
19853
OPC_CheckType, MVT::v1i64,
19854
OPC_CheckPatternPredicate, 8,
19855
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
19856
OPC_EmitMergeInputChains, 1, 1,
19857
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDrm), 0|OPFL_Chain|OPFL_MemRefs,
19858
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
19863
OPC_CheckOpcode, ISD::LOAD,
19864
OPC_CheckPredicate, 4,
19866
OPC_CheckPredicate, 9,
19867
OPC_CheckPredicate, 10,
19870
OPC_CheckFoldableChainNode,
19874
OPC_CheckType, MVT::i8,
19875
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19876
OPC_EmitMergeInputChains, 1, 0,
19877
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8rm), 0|OPFL_Chain|OPFL_MemRefs,
19878
2, MVT::i8, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
19880
OPC_CheckPredicate, 6,
19883
OPC_CheckFoldableChainNode,
19887
OPC_CheckType, MVT::i16,
19888
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19889
OPC_EmitMergeInputChains, 1, 0,
19890
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16rm), 0|OPFL_Chain|OPFL_MemRefs,
19891
2, MVT::i16, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
19893
OPC_CheckPredicate, 5,
19896
OPC_CheckFoldableChainNode,
19900
OPC_CheckType, MVT::i32,
19901
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19902
OPC_EmitMergeInputChains, 1, 0,
19903
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32rm), 0|OPFL_Chain|OPFL_MemRefs,
19904
2, MVT::i32, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
19906
OPC_CheckPredicate, 9,
19910
OPC_CheckFoldableChainNode,
19914
OPC_CheckType, MVT::i64,
19915
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19916
OPC_EmitMergeInputChains, 1, 0,
19917
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64rm), 0|OPFL_Chain|OPFL_MemRefs,
19918
2, MVT::i64, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
19920
OPC_CheckPredicate, 24,
19923
OPC_CheckFoldableChainNode,
19927
OPC_CheckType, MVT::v2i64,
19928
OPC_CheckPatternPredicate, 1,
19929
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19930
OPC_EmitMergeInputChains, 1, 0,
19931
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDrm), 0|OPFL_Chain|OPFL_MemRefs,
19932
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
19936
OPC_CheckFoldableChainNode,
19940
OPC_CheckType, MVT::v1i64,
19941
OPC_CheckPatternPredicate, 8,
19942
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
19943
OPC_EmitMergeInputChains, 1, 0,
19944
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDrm), 0|OPFL_Chain|OPFL_MemRefs,
19945
1, MVT::v1i64, 6, 2, 3, 4, 5, 6, 7,
19949
OPC_CheckAndImm, 127|128,1,
19951
OPC_CheckOpcode, ISD::SRL,
19952
OPC_CheckPredicate, 16,
19955
OPC_CheckInteger, 8,
19956
OPC_CheckType, MVT::i8,
19959
OPC_SwitchType , 72, MVT::i32,
19961
OPC_CheckPatternPredicate, 2,
19962
OPC_EmitInteger, MVT::i32, X86::GR32_ABCDRegClassID,
19963
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
19964
1, MVT::i32, 2, 0, 1,
19965
OPC_EmitInteger, MVT::i32, 2,
19966
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
19967
1, MVT::i8, 2, 2, 3,
19968
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rr8), 0,
19971
OPC_CheckPatternPredicate, 3,
19972
OPC_EmitInteger, MVT::i32, X86::GR32_ABCDRegClassID,
19973
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
19974
1, MVT::i32, 2, 0, 1,
19975
OPC_EmitInteger, MVT::i32, 2,
19976
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
19977
1, MVT::i8, 2, 2, 3,
19978
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32_NOREXrr8), 0,
19982
OPC_EmitInteger, MVT::i64, 0,
19983
OPC_EmitInteger, MVT::i32, X86::GR64_ABCDRegClassID,
19984
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
19985
1, MVT::i64, 2, 0, 2,
19986
OPC_EmitInteger, MVT::i32, 2,
19987
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
19988
1, MVT::i8, 2, 3, 4,
19989
OPC_EmitNode, TARGET_OPCODE(X86::MOVZX32_NOREXrr8), 0,
19991
OPC_EmitInteger, MVT::i32, 4,
19992
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0,
19993
1, MVT::i64, 3, 1, 6, 7,
19997
OPC_SwitchOpcode , 126|128,1, ISD::XOR,
20000
OPC_SwitchOpcode , 33, ISD::BIT_CONVERT,
20002
OPC_CheckChild0Type, MVT::v2f64,
20005
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20006
OPC_CheckPredicate, 67,
20010
OPC_CheckOpcode, ISD::BIT_CONVERT,
20012
OPC_CheckChild0Type, MVT::v2f64,
20014
OPC_CheckType, MVT::v2i64,
20015
OPC_CheckPatternPredicate, 1,
20016
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPDrr), 0,
20017
1, MVT::v2i64, 2, 0, 1,
20018
33, ISD::BUILD_VECTOR,
20019
OPC_CheckPredicate, 67,
20022
OPC_CheckOpcode, ISD::BIT_CONVERT,
20024
OPC_CheckChild0Type, MVT::v2f64,
20028
OPC_CheckOpcode, ISD::BIT_CONVERT,
20030
OPC_CheckChild0Type, MVT::v2f64,
20032
OPC_CheckType, MVT::v2i64,
20033
OPC_CheckPatternPredicate, 1,
20034
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPDrr), 0,
20035
1, MVT::v2i64, 2, 0, 1,
20040
OPC_CheckOpcode, ISD::BIT_CONVERT,
20042
OPC_SwitchOpcode , 93, ISD::BUILD_VECTOR,
20043
OPC_CheckPredicate, 67,
20044
OPC_SwitchType , 32, MVT::v4i32,
20049
OPC_CheckType, MVT::v2i64,
20051
OPC_CheckPatternPredicate, 0,
20052
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPSrr), 0,
20053
1, MVT::v2i64, 2, 0, 1,
20055
OPC_CheckPatternPredicate, 1,
20056
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20057
1, MVT::v2i64, 2, 0, 1,
20064
OPC_CheckType, MVT::v2i64,
20065
OPC_CheckPatternPredicate, 1,
20066
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20067
1, MVT::v2i64, 2, 0, 1,
20073
OPC_CheckType, MVT::v2i64,
20074
OPC_CheckPatternPredicate, 1,
20075
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20076
1, MVT::v2i64, 2, 0, 1,
20082
OPC_CheckType, MVT::v1i64,
20083
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20084
1, MVT::v1i64, 2, 0, 1,
20086
38, ISD::BIT_CONVERT,
20087
OPC_CheckPredicate, 68,
20088
OPC_SwitchType , 15, MVT::v4i16,
20093
OPC_CheckType, MVT::v1i64,
20094
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20095
1, MVT::v1i64, 2, 0, 1,
20101
OPC_CheckType, MVT::v1i64,
20102
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20103
1, MVT::v1i64, 2, 0, 1,
20108
OPC_CheckOpcode, ISD::BIT_CONVERT,
20110
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20111
OPC_CheckPredicate, 67,
20112
OPC_CheckType, MVT::v4i32,
20118
OPC_CheckType, MVT::v2i64,
20119
OPC_CheckPatternPredicate, 0,
20120
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPSrr), 0,
20121
1, MVT::v2i64, 2, 0, 1,
20123
66, ISD::BIT_CONVERT,
20125
OPC_CheckChild0Type, MVT::v2f64,
20128
OPC_CheckOpcode, ISD::XOR,
20130
OPC_SwitchOpcode , 25, ISD::BIT_CONVERT,
20132
OPC_CheckChild0Type, MVT::v2f64,
20135
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20136
OPC_CheckPredicate, 67,
20139
OPC_CheckType, MVT::v2i64,
20140
OPC_CheckPatternPredicate, 1,
20141
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPDrr), 0,
20142
1, MVT::v2i64, 2, 1, 0,
20143
25, ISD::BUILD_VECTOR,
20144
OPC_CheckPredicate, 67,
20147
OPC_CheckOpcode, ISD::BIT_CONVERT,
20149
OPC_CheckChild0Type, MVT::v2f64,
20152
OPC_CheckType, MVT::v2i64,
20153
OPC_CheckPatternPredicate, 1,
20154
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPDrr), 0,
20155
1, MVT::v2i64, 2, 1, 0,
20161
OPC_CheckOpcode, ISD::XOR,
20165
OPC_CheckOpcode, ISD::BIT_CONVERT,
20167
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20168
OPC_CheckPredicate, 67,
20169
OPC_CheckType, MVT::v4i32,
20173
OPC_CheckType, MVT::v2i64,
20174
OPC_CheckPatternPredicate, 0,
20175
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPSrr), 0,
20176
1, MVT::v2i64, 2, 1, 0,
20179
OPC_CheckOpcode, ISD::BIT_CONVERT,
20181
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20182
OPC_CheckPredicate, 67,
20183
OPC_CheckType, MVT::v4i32,
20188
OPC_CheckType, MVT::v2i64,
20189
OPC_CheckPatternPredicate, 0,
20190
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDNPSrr), 0,
20191
1, MVT::v2i64, 2, 1, 0,
20195
OPC_CheckOpcode, ISD::XOR,
20197
OPC_CheckOpcode, ISD::BIT_CONVERT,
20199
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20200
OPC_CheckPredicate, 67,
20201
OPC_CheckType, MVT::v4i32,
20207
OPC_CheckType, MVT::v2i64,
20208
OPC_CheckPatternPredicate, 1,
20209
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20210
1, MVT::v2i64, 2, 0, 1,
20214
OPC_CheckOpcode, ISD::XOR,
20218
OPC_CheckOpcode, ISD::BIT_CONVERT,
20220
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20221
OPC_CheckPredicate, 67,
20222
OPC_CheckType, MVT::v4i32,
20226
OPC_CheckType, MVT::v2i64,
20227
OPC_CheckPatternPredicate, 1,
20228
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20229
1, MVT::v2i64, 2, 1, 0,
20232
OPC_CheckOpcode, ISD::BIT_CONVERT,
20234
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20235
OPC_CheckPredicate, 67,
20236
OPC_CheckType, MVT::v4i32,
20241
OPC_CheckType, MVT::v2i64,
20242
OPC_CheckPatternPredicate, 1,
20243
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20244
1, MVT::v2i64, 2, 1, 0,
20248
OPC_CheckOpcode, ISD::XOR,
20250
OPC_CheckOpcode, ISD::BIT_CONVERT,
20252
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20253
OPC_CheckPredicate, 67,
20254
OPC_CheckType, MVT::v8i16,
20260
OPC_CheckType, MVT::v2i64,
20261
OPC_CheckPatternPredicate, 1,
20262
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20263
1, MVT::v2i64, 2, 0, 1,
20267
OPC_CheckOpcode, ISD::XOR,
20271
OPC_CheckOpcode, ISD::BIT_CONVERT,
20273
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20274
OPC_CheckPredicate, 67,
20275
OPC_CheckType, MVT::v8i16,
20279
OPC_CheckType, MVT::v2i64,
20280
OPC_CheckPatternPredicate, 1,
20281
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20282
1, MVT::v2i64, 2, 1, 0,
20285
OPC_CheckOpcode, ISD::BIT_CONVERT,
20287
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20288
OPC_CheckPredicate, 67,
20289
OPC_CheckType, MVT::v8i16,
20294
OPC_CheckType, MVT::v2i64,
20295
OPC_CheckPatternPredicate, 1,
20296
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20297
1, MVT::v2i64, 2, 1, 0,
20301
OPC_CheckOpcode, ISD::XOR,
20303
OPC_CheckOpcode, ISD::BIT_CONVERT,
20305
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20306
OPC_CheckPredicate, 67,
20307
OPC_CheckType, MVT::v16i8,
20313
OPC_CheckType, MVT::v2i64,
20314
OPC_CheckPatternPredicate, 1,
20315
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20316
1, MVT::v2i64, 2, 0, 1,
20320
OPC_CheckOpcode, ISD::XOR,
20324
OPC_CheckOpcode, ISD::BIT_CONVERT,
20326
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20327
OPC_CheckPredicate, 67,
20328
OPC_CheckType, MVT::v16i8,
20332
OPC_CheckType, MVT::v2i64,
20333
OPC_CheckPatternPredicate, 1,
20334
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20335
1, MVT::v2i64, 2, 1, 0,
20338
OPC_CheckOpcode, ISD::BIT_CONVERT,
20340
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20341
OPC_CheckPredicate, 67,
20342
OPC_CheckType, MVT::v16i8,
20347
OPC_CheckType, MVT::v2i64,
20348
OPC_CheckPatternPredicate, 1,
20349
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20350
1, MVT::v2i64, 2, 1, 0,
20354
OPC_CheckOpcode, ISD::XOR,
20356
OPC_CheckOpcode, ISD::BIT_CONVERT,
20358
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20359
OPC_CheckPredicate, 67,
20360
OPC_CheckType, MVT::v2i32,
20366
OPC_CheckType, MVT::v1i64,
20367
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20368
1, MVT::v1i64, 2, 0, 1,
20372
OPC_CheckOpcode, ISD::XOR,
20376
OPC_CheckOpcode, ISD::BIT_CONVERT,
20378
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20379
OPC_CheckPredicate, 67,
20380
OPC_CheckType, MVT::v2i32,
20384
OPC_CheckType, MVT::v1i64,
20385
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20386
1, MVT::v1i64, 2, 1, 0,
20389
OPC_CheckOpcode, ISD::BIT_CONVERT,
20391
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20392
OPC_CheckPredicate, 67,
20393
OPC_CheckType, MVT::v2i32,
20398
OPC_CheckType, MVT::v1i64,
20399
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20400
1, MVT::v1i64, 2, 1, 0,
20404
OPC_CheckOpcode, ISD::XOR,
20406
OPC_CheckOpcode, ISD::BIT_CONVERT,
20408
OPC_CheckOpcode, ISD::BIT_CONVERT,
20409
OPC_CheckPredicate, 68,
20410
OPC_CheckType, MVT::v4i16,
20416
OPC_CheckType, MVT::v1i64,
20417
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20418
1, MVT::v1i64, 2, 0, 1,
20422
OPC_CheckOpcode, ISD::XOR,
20426
OPC_CheckOpcode, ISD::BIT_CONVERT,
20428
OPC_CheckOpcode, ISD::BIT_CONVERT,
20429
OPC_CheckPredicate, 68,
20430
OPC_CheckType, MVT::v4i16,
20434
OPC_CheckType, MVT::v1i64,
20435
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20436
1, MVT::v1i64, 2, 1, 0,
20439
OPC_CheckOpcode, ISD::BIT_CONVERT,
20441
OPC_CheckOpcode, ISD::BIT_CONVERT,
20442
OPC_CheckPredicate, 68,
20443
OPC_CheckType, MVT::v4i16,
20448
OPC_CheckType, MVT::v1i64,
20449
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20450
1, MVT::v1i64, 2, 1, 0,
20454
OPC_CheckOpcode, ISD::XOR,
20456
OPC_CheckOpcode, ISD::BIT_CONVERT,
20458
OPC_CheckOpcode, ISD::BIT_CONVERT,
20459
OPC_CheckPredicate, 68,
20460
OPC_CheckType, MVT::v8i8,
20466
OPC_CheckType, MVT::v1i64,
20467
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20468
1, MVT::v1i64, 2, 0, 1,
20472
OPC_CheckOpcode, ISD::XOR,
20476
OPC_CheckOpcode, ISD::BIT_CONVERT,
20478
OPC_CheckOpcode, ISD::BIT_CONVERT,
20479
OPC_CheckPredicate, 68,
20480
OPC_CheckType, MVT::v8i8,
20484
OPC_CheckType, MVT::v1i64,
20485
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20486
1, MVT::v1i64, 2, 1, 0,
20489
OPC_CheckOpcode, ISD::BIT_CONVERT,
20491
OPC_CheckOpcode, ISD::BIT_CONVERT,
20492
OPC_CheckPredicate, 68,
20493
OPC_CheckType, MVT::v8i8,
20498
OPC_CheckType, MVT::v1i64,
20499
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20500
1, MVT::v1i64, 2, 1, 0,
20504
OPC_CheckOpcode, ISD::XOR,
20508
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20509
OPC_CheckPredicate, 67,
20513
OPC_SwitchType , 11, MVT::v2i64,
20514
OPC_CheckPatternPredicate, 1,
20515
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20516
1, MVT::v2i64, 2, 0, 1,
20518
OPC_CheckPatternPredicate, 8,
20519
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20520
1, MVT::v1i64, 2, 0, 1,
20524
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20525
OPC_CheckPredicate, 67,
20530
OPC_CheckType, MVT::v2i64,
20531
OPC_CheckPatternPredicate, 1,
20532
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20533
1, MVT::v2i64, 2, 0, 1,
20538
OPC_CheckOpcode, ISD::XOR,
20542
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20543
OPC_CheckPredicate, 67,
20546
OPC_CheckType, MVT::v2i64,
20547
OPC_CheckPatternPredicate, 1,
20548
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20549
1, MVT::v2i64, 2, 1, 0,
20552
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20553
OPC_CheckPredicate, 67,
20557
OPC_CheckType, MVT::v2i64,
20558
OPC_CheckPatternPredicate, 1,
20559
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDNrr), 0,
20560
1, MVT::v2i64, 2, 1, 0,
20564
OPC_CheckOpcode, ISD::XOR,
20566
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20567
OPC_CheckPredicate, 67,
20572
OPC_CheckType, MVT::v1i64,
20573
OPC_CheckPatternPredicate, 8,
20574
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20575
1, MVT::v1i64, 2, 0, 1,
20579
OPC_CheckOpcode, ISD::XOR,
20583
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20584
OPC_CheckPredicate, 67,
20587
OPC_CheckType, MVT::v1i64,
20588
OPC_CheckPatternPredicate, 8,
20589
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20590
1, MVT::v1i64, 2, 1, 0,
20593
OPC_CheckOpcode, ISD::BUILD_VECTOR,
20594
OPC_CheckPredicate, 67,
20598
OPC_CheckType, MVT::v1i64,
20599
OPC_CheckPatternPredicate, 8,
20600
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDNrr), 0,
20601
1, MVT::v1i64, 2, 1, 0,
20605
OPC_CheckOpcode, ISD::BIT_CONVERT,
20607
OPC_CheckChild0Type, MVT::v2f64,
20610
OPC_CheckOpcode, ISD::BIT_CONVERT,
20612
OPC_CheckChild0Type, MVT::v2f64,
20614
OPC_CheckType, MVT::v2i64,
20615
OPC_CheckPatternPredicate, 1,
20616
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDPDrr), 0,
20617
1, MVT::v2i64, 2, 0, 1,
20619
OPC_CheckAndImm, 127|128,127|128,3,
20621
OPC_CheckType, MVT::i32,
20622
OPC_EmitInteger, MVT::i32, 3,
20623
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
20624
1, MVT::i16, 2, 0, 1,
20625
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rr16), 0,
20628
OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
20630
OPC_CheckType, MVT::i64,
20631
OPC_EmitInteger, MVT::i32, 4,
20632
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
20633
1, MVT::i32, 2, 0, 1,
20634
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rr32), 0,
20637
OPC_CheckAndImm, 127|128,127|128,3,
20639
OPC_CheckType, MVT::i64,
20640
OPC_EmitInteger, MVT::i32, 3,
20641
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
20642
1, MVT::i16, 2, 0, 1,
20643
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rr16), 0,
20646
OPC_CheckAndImm, 127|128,1,
20648
OPC_SwitchType , 20, MVT::i64,
20649
OPC_EmitInteger, MVT::i32, 1,
20650
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
20651
1, MVT::i8, 2, 0, 1,
20652
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rr8), 0,
20656
OPC_CheckPatternPredicate, 3,
20657
OPC_EmitInteger, MVT::i32, 1,
20658
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
20659
1, MVT::i8, 2, 0, 1,
20660
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rr8), 0,
20663
OPC_CheckPatternPredicate, 2,
20664
OPC_EmitInteger, MVT::i32, X86::GR32_ABCDRegClassID,
20665
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
20666
1, MVT::i32, 2, 0, 1,
20667
OPC_EmitInteger, MVT::i32, 1,
20668
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
20669
1, MVT::i8, 2, 2, 3,
20670
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rr8), 0,
20675
OPC_CheckPatternPredicate, 3,
20676
OPC_EmitInteger, MVT::i32, 1,
20677
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
20678
1, MVT::i8, 2, 0, 1,
20679
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX16rr8), 0,
20682
OPC_CheckPatternPredicate, 2,
20683
OPC_EmitInteger, MVT::i32, X86::GR16_ABCDRegClassID,
20684
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
20685
1, MVT::i16, 2, 0, 1,
20686
OPC_EmitInteger, MVT::i32, 1,
20687
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
20688
1, MVT::i8, 2, 2, 3,
20689
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX16rr8), 0,
20696
OPC_Scope, 38|128,1,
20698
OPC_CheckOpcode, ISD::Constant,
20700
OPC_CheckPredicate, 11,
20702
OPC_SwitchType , 12, MVT::i16,
20703
OPC_EmitConvertToTarget, 1,
20704
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16ri8), 0,
20705
2, MVT::i16, MVT::i32, 2, 0, 2,
20707
OPC_EmitConvertToTarget, 1,
20708
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32ri8), 0,
20709
2, MVT::i32, MVT::i32, 2, 0, 2,
20711
OPC_EmitConvertToTarget, 1,
20712
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64ri8), 0,
20713
2, MVT::i64, MVT::i32, 2, 0, 2,
20716
OPC_CheckPredicate, 12,
20718
OPC_CheckType, MVT::i64,
20719
OPC_EmitConvertToTarget, 1,
20720
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64ri32), 0,
20721
2, MVT::i64, MVT::i32, 2, 0, 2,
20723
OPC_CheckPredicate, 69,
20725
OPC_CheckType, MVT::i64,
20726
OPC_EmitInteger, MVT::i64, 0,
20727
OPC_EmitInteger, MVT::i32, 4,
20728
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
20729
1, MVT::i32, 2, 0, 3,
20730
OPC_EmitConvertToTarget, 1,
20731
OPC_EmitNodeXForm, 6, 5,
20732
OPC_EmitNode, TARGET_OPCODE(X86::AND32ri), 0,
20733
1, MVT::i32, 2, 4, 6,
20734
OPC_EmitInteger, MVT::i32, 4,
20735
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0,
20736
1, MVT::i64, 3, 2, 7, 8,
20739
OPC_SwitchType , 12, MVT::i8,
20740
OPC_EmitConvertToTarget, 1,
20741
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8ri), 0,
20742
2, MVT::i8, MVT::i32, 2, 0, 2,
20744
OPC_EmitConvertToTarget, 1,
20745
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16ri), 0,
20746
2, MVT::i16, MVT::i32, 2, 0, 2,
20748
OPC_EmitConvertToTarget, 1,
20749
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32ri), 0,
20750
2, MVT::i32, MVT::i32, 2, 0, 2,
20754
OPC_CheckType, MVT::i8,
20755
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8rr), 0,
20756
2, MVT::i8, MVT::i32, 2, 0, 1,
20758
OPC_CheckType, MVT::i16,
20759
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16rr), 0,
20760
2, MVT::i16, MVT::i32, 2, 0, 1,
20762
OPC_CheckType, MVT::i32,
20763
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32rr), 0,
20764
2, MVT::i32, MVT::i32, 2, 0, 1,
20766
OPC_CheckType, MVT::i64,
20767
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64rr), 0,
20768
2, MVT::i64, MVT::i32, 2, 0, 1,
20770
OPC_CheckType, MVT::v2i64,
20772
OPC_CheckPatternPredicate, 0,
20773
OPC_MorphNodeTo, TARGET_OPCODE(X86::ANDPSrr), 0,
20774
1, MVT::v2i64, 2, 0, 1,
20776
OPC_CheckPatternPredicate, 1,
20777
OPC_MorphNodeTo, TARGET_OPCODE(X86::PANDrr), 0,
20778
1, MVT::v2i64, 2, 0, 1,
20781
OPC_CheckType, MVT::v1i64,
20782
OPC_CheckPatternPredicate, 8,
20783
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PANDrr), 0,
20784
1, MVT::v1i64, 2, 0, 1,
20787
109|128,12, X86ISD::CMP,
20788
OPC_Scope, 83|128,6,
20790
OPC_SwitchOpcode , 108|128,3, ISD::AND,
20791
OPC_Scope, 47|128,1,
20793
OPC_CheckOpcode, ISD::LOAD,
20794
OPC_CheckPredicate, 4,
20796
OPC_CheckPredicate, 9,
20797
OPC_CheckPredicate, 10,
20800
OPC_CheckFoldableChainNode,
20805
OPC_CheckOpcode, ISD::Constant,
20807
OPC_CheckPredicate, 12,
20809
OPC_CheckType, MVT::i64,
20812
OPC_CheckInteger, 0,
20814
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
20815
OPC_EmitMergeInputChains, 1, 0,
20816
OPC_EmitConvertToTarget, 2,
20817
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST64mi32), 0|OPFL_Chain|OPFL_MemRefs,
20818
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
20821
OPC_CheckType, MVT::i8,
20824
OPC_CheckInteger, 0,
20826
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
20827
OPC_EmitMergeInputChains, 1, 0,
20828
OPC_EmitConvertToTarget, 2,
20829
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST8mi), 0|OPFL_Chain|OPFL_MemRefs,
20830
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
20833
OPC_CheckPredicate, 6,
20836
OPC_CheckFoldableChainNode,
20841
OPC_CheckOpcode, ISD::Constant,
20843
OPC_CheckType, MVT::i16,
20846
OPC_CheckInteger, 0,
20848
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
20849
OPC_EmitMergeInputChains, 1, 0,
20850
OPC_EmitConvertToTarget, 2,
20851
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST16mi), 0|OPFL_Chain|OPFL_MemRefs,
20852
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
20854
OPC_CheckPredicate, 5,
20857
OPC_CheckFoldableChainNode,
20862
OPC_CheckOpcode, ISD::Constant,
20864
OPC_CheckType, MVT::i32,
20867
OPC_CheckInteger, 0,
20869
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
20870
OPC_EmitMergeInputChains, 1, 0,
20871
OPC_EmitConvertToTarget, 2,
20872
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST32mi), 0|OPFL_Chain|OPFL_MemRefs,
20873
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
20878
OPC_CheckOpcode, ISD::LOAD,
20879
OPC_CheckPredicate, 4,
20881
OPC_CheckPredicate, 9,
20882
OPC_CheckPredicate, 10,
20885
OPC_CheckFoldableChainNode,
20888
OPC_CheckType, MVT::i8,
20891
OPC_CheckInteger, 0,
20893
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
20894
OPC_EmitMergeInputChains, 1, 1,
20895
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST8rm), 0|OPFL_Chain|OPFL_MemRefs,
20896
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
20898
OPC_CheckPredicate, 6,
20901
OPC_CheckFoldableChainNode,
20904
OPC_CheckType, MVT::i16,
20907
OPC_CheckInteger, 0,
20909
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
20910
OPC_EmitMergeInputChains, 1, 1,
20911
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST16rm), 0|OPFL_Chain|OPFL_MemRefs,
20912
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
20914
OPC_CheckPredicate, 5,
20917
OPC_CheckFoldableChainNode,
20920
OPC_CheckType, MVT::i32,
20923
OPC_CheckInteger, 0,
20925
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
20926
OPC_EmitMergeInputChains, 1, 1,
20927
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST32rm), 0|OPFL_Chain|OPFL_MemRefs,
20928
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
20930
OPC_CheckPredicate, 9,
20931
OPC_CheckPredicate, 10,
20934
OPC_CheckFoldableChainNode,
20937
OPC_CheckType, MVT::i64,
20940
OPC_CheckInteger, 0,
20942
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
20943
OPC_EmitMergeInputChains, 1, 1,
20944
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST64rm), 0|OPFL_Chain|OPFL_MemRefs,
20945
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
20949
OPC_CheckOpcode, ISD::LOAD,
20950
OPC_CheckPredicate, 4,
20952
OPC_CheckPredicate, 9,
20953
OPC_CheckPredicate, 10,
20956
OPC_CheckFoldableChainNode,
20960
OPC_CheckType, MVT::i8,
20963
OPC_CheckInteger, 0,
20965
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
20966
OPC_EmitMergeInputChains, 1, 0,
20967
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST8rm), 0|OPFL_Chain|OPFL_MemRefs,
20968
1, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
20970
OPC_CheckPredicate, 6,
20973
OPC_CheckFoldableChainNode,
20977
OPC_CheckType, MVT::i16,
20980
OPC_CheckInteger, 0,
20982
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
20983
OPC_EmitMergeInputChains, 1, 0,
20984
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST16rm), 0|OPFL_Chain|OPFL_MemRefs,
20985
1, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
20987
OPC_CheckPredicate, 5,
20990
OPC_CheckFoldableChainNode,
20994
OPC_CheckType, MVT::i32,
20997
OPC_CheckInteger, 0,
20999
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21000
OPC_EmitMergeInputChains, 1, 0,
21001
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST32rm), 0|OPFL_Chain|OPFL_MemRefs,
21002
1, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
21004
OPC_CheckPredicate, 9,
21005
OPC_CheckPredicate, 10,
21008
OPC_CheckFoldableChainNode,
21012
OPC_CheckType, MVT::i64,
21015
OPC_CheckInteger, 0,
21017
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21018
OPC_EmitMergeInputChains, 1, 0,
21019
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST64rm), 0|OPFL_Chain|OPFL_MemRefs,
21020
1, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
21023
93|128,2, ISD::LOAD,
21024
OPC_CheckPredicate, 4,
21026
OPC_CheckPredicate, 6,
21029
OPC_CheckFoldableChainNode,
21031
OPC_CheckType, MVT::i16,
21035
OPC_CheckOpcode, ISD::Constant,
21036
OPC_CheckPredicate, 11,
21038
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21039
OPC_EmitMergeInputChains, 1, 0,
21040
OPC_EmitConvertToTarget, 2,
21041
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP16mi8), 0|OPFL_Chain|OPFL_MemRefs,
21042
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
21044
OPC_CheckPredicate, 5,
21047
OPC_CheckFoldableChainNode,
21049
OPC_CheckType, MVT::i32,
21053
OPC_CheckOpcode, ISD::Constant,
21054
OPC_CheckPredicate, 11,
21056
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21057
OPC_EmitMergeInputChains, 1, 0,
21058
OPC_EmitConvertToTarget, 2,
21059
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP32mi8), 0|OPFL_Chain|OPFL_MemRefs,
21060
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
21062
OPC_CheckPredicate, 9,
21063
OPC_CheckPredicate, 10,
21066
OPC_CheckFoldableChainNode,
21068
OPC_SwitchType , 58, MVT::i64,
21072
OPC_CheckOpcode, ISD::Constant,
21074
OPC_CheckPredicate, 11,
21076
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21077
OPC_EmitMergeInputChains, 1, 0,
21078
OPC_EmitConvertToTarget, 2,
21079
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP64mi8), 0|OPFL_Chain|OPFL_MemRefs,
21080
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
21082
OPC_CheckPredicate, 12,
21084
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21085
OPC_EmitMergeInputChains, 1, 0,
21086
OPC_EmitConvertToTarget, 2,
21087
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP64mi32), 0|OPFL_Chain|OPFL_MemRefs,
21088
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
21094
OPC_CheckOpcode, ISD::Constant,
21096
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21097
OPC_EmitMergeInputChains, 1, 0,
21098
OPC_EmitConvertToTarget, 2,
21099
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP8mi), 0|OPFL_Chain|OPFL_MemRefs,
21100
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
21103
OPC_CheckPredicate, 6,
21106
OPC_CheckFoldableChainNode,
21108
OPC_CheckType, MVT::i16,
21112
OPC_CheckOpcode, ISD::Constant,
21114
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21115
OPC_EmitMergeInputChains, 1, 0,
21116
OPC_EmitConvertToTarget, 2,
21117
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP16mi), 0|OPFL_Chain|OPFL_MemRefs,
21118
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
21120
OPC_CheckPredicate, 5,
21123
OPC_CheckFoldableChainNode,
21125
OPC_CheckType, MVT::i32,
21129
OPC_CheckOpcode, ISD::Constant,
21131
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21132
OPC_EmitMergeInputChains, 1, 0,
21133
OPC_EmitConvertToTarget, 2,
21134
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP32mi), 0|OPFL_Chain|OPFL_MemRefs,
21135
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
21137
OPC_CheckPredicate, 9,
21138
OPC_CheckPredicate, 10,
21141
OPC_CheckFoldableChainNode,
21143
OPC_CheckType, MVT::i8,
21146
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21147
OPC_EmitMergeInputChains, 1, 0,
21148
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP8mr), 0|OPFL_Chain|OPFL_MemRefs,
21149
1, MVT::i32, 6, 3, 4, 5, 6, 7, 2,
21151
OPC_CheckPredicate, 6,
21154
OPC_CheckFoldableChainNode,
21156
OPC_CheckType, MVT::i16,
21159
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21160
OPC_EmitMergeInputChains, 1, 0,
21161
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP16mr), 0|OPFL_Chain|OPFL_MemRefs,
21162
1, MVT::i32, 6, 3, 4, 5, 6, 7, 2,
21164
OPC_CheckPredicate, 5,
21167
OPC_CheckFoldableChainNode,
21169
OPC_CheckType, MVT::i32,
21172
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21173
OPC_EmitMergeInputChains, 1, 0,
21174
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP32mr), 0|OPFL_Chain|OPFL_MemRefs,
21175
1, MVT::i32, 6, 3, 4, 5, 6, 7, 2,
21181
OPC_CheckChild0Type, MVT::i8,
21183
OPC_CheckOpcode, ISD::LOAD,
21184
OPC_CheckPredicate, 4,
21185
OPC_CheckPredicate, 9,
21186
OPC_CheckPredicate, 10,
21189
OPC_CheckFoldableChainNode,
21192
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21193
OPC_EmitMergeInputChains, 1, 1,
21194
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP8rm), 0|OPFL_Chain|OPFL_MemRefs,
21195
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
21197
OPC_CheckChild0Type, MVT::i16,
21199
OPC_CheckOpcode, ISD::LOAD,
21200
OPC_CheckPredicate, 4,
21201
OPC_CheckPredicate, 6,
21204
OPC_CheckFoldableChainNode,
21207
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21208
OPC_EmitMergeInputChains, 1, 1,
21209
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP16rm), 0|OPFL_Chain|OPFL_MemRefs,
21210
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
21212
OPC_CheckChild0Type, MVT::i32,
21214
OPC_CheckOpcode, ISD::LOAD,
21215
OPC_CheckPredicate, 4,
21216
OPC_CheckPredicate, 5,
21219
OPC_CheckFoldableChainNode,
21222
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21223
OPC_EmitMergeInputChains, 1, 1,
21224
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP32rm), 0|OPFL_Chain|OPFL_MemRefs,
21225
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
21229
OPC_CheckOpcode, ISD::LOAD,
21230
OPC_CheckPredicate, 4,
21231
OPC_CheckPredicate, 9,
21232
OPC_CheckPredicate, 10,
21235
OPC_CheckFoldableChainNode,
21237
OPC_CheckType, MVT::i64,
21240
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21241
OPC_EmitMergeInputChains, 1, 0,
21242
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP64mr), 0|OPFL_Chain|OPFL_MemRefs,
21243
1, MVT::i32, 6, 3, 4, 5, 6, 7, 2,
21247
OPC_CheckChild0Type, MVT::i64,
21249
OPC_CheckOpcode, ISD::LOAD,
21250
OPC_CheckPredicate, 4,
21251
OPC_CheckPredicate, 9,
21252
OPC_CheckPredicate, 10,
21255
OPC_CheckFoldableChainNode,
21258
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21259
OPC_EmitMergeInputChains, 1, 1,
21260
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP64rm), 0|OPFL_Chain|OPFL_MemRefs,
21261
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
21263
OPC_CheckChild0Type, MVT::f32,
21265
OPC_CheckOpcode, ISD::LOAD,
21266
OPC_CheckPredicate, 4,
21267
OPC_CheckPredicate, 9,
21268
OPC_CheckPredicate, 10,
21271
OPC_CheckFoldableChainNode,
21274
OPC_CheckPatternPredicate, 0,
21275
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21276
OPC_EmitMergeInputChains, 1, 1,
21277
OPC_MorphNodeTo, TARGET_OPCODE(X86::UCOMISSrm), 0|OPFL_Chain|OPFL_MemRefs,
21278
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
21280
OPC_CheckChild0Type, MVT::f64,
21282
OPC_CheckOpcode, ISD::LOAD,
21283
OPC_CheckPredicate, 4,
21284
OPC_CheckPredicate, 9,
21285
OPC_CheckPredicate, 10,
21288
OPC_CheckFoldableChainNode,
21291
OPC_CheckPatternPredicate, 1,
21292
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21293
OPC_EmitMergeInputChains, 1, 1,
21294
OPC_MorphNodeTo, TARGET_OPCODE(X86::UCOMISDrm), 0|OPFL_Chain|OPFL_MemRefs,
21295
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
21299
OPC_CheckOpcode, ISD::AND,
21301
OPC_CheckPredicate, 70,
21305
OPC_CheckOpcode, ISD::Constant,
21307
OPC_SwitchType , 17, MVT::i8,
21310
OPC_CheckInteger, 0,
21312
OPC_EmitConvertToTarget, 1,
21313
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST8ri), 0,
21314
1, MVT::i32, 2, 0, 2,
21318
OPC_CheckInteger, 0,
21320
OPC_EmitConvertToTarget, 1,
21321
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST16ri), 0,
21322
1, MVT::i32, 2, 0, 2,
21326
OPC_CheckInteger, 0,
21328
OPC_EmitConvertToTarget, 1,
21329
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST32ri), 0,
21330
1, MVT::i32, 2, 0, 2,
21336
OPC_CheckOpcode, ISD::Constant,
21337
OPC_CheckPredicate, 12,
21339
OPC_CheckType, MVT::i64,
21342
OPC_CheckInteger, 0,
21344
OPC_EmitConvertToTarget, 1,
21345
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST64ri32), 0,
21346
1, MVT::i32, 2, 0, 2,
21348
OPC_CheckPredicate, 70,
21351
OPC_SwitchType , 15, MVT::i8,
21354
OPC_CheckInteger, 0,
21356
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST8rr), 0,
21357
1, MVT::i32, 2, 0, 1,
21361
OPC_CheckInteger, 0,
21363
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST16rr), 0,
21364
1, MVT::i32, 2, 0, 1,
21368
OPC_CheckInteger, 0,
21370
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST32rr), 0,
21371
1, MVT::i32, 2, 0, 1,
21376
OPC_CheckType, MVT::i64,
21379
OPC_CheckInteger, 0,
21381
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST64rr), 0,
21382
1, MVT::i32, 2, 0, 1,
21387
OPC_CheckChild0Type, MVT::i8,
21390
OPC_CheckInteger, 0,
21392
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST8rr), 0,
21393
1, MVT::i32, 2, 0, 0,
21398
OPC_CheckOpcode, ISD::Constant,
21400
OPC_EmitConvertToTarget, 1,
21401
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP8ri), 0,
21402
1, MVT::i32, 2, 0, 2,
21404
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP8rr), 0,
21405
1, MVT::i32, 2, 0, 1,
21409
OPC_CheckChild0Type, MVT::i16,
21412
OPC_CheckInteger, 0,
21414
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST16rr), 0,
21415
1, MVT::i32, 2, 0, 0,
21420
OPC_CheckOpcode, ISD::Constant,
21422
OPC_CheckPredicate, 11,
21424
OPC_EmitConvertToTarget, 1,
21425
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP16ri8), 0,
21426
1, MVT::i32, 2, 0, 2,
21429
OPC_EmitConvertToTarget, 1,
21430
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP16ri), 0,
21431
1, MVT::i32, 2, 0, 2,
21434
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP16rr), 0,
21435
1, MVT::i32, 2, 0, 1,
21439
OPC_CheckChild0Type, MVT::i32,
21442
OPC_CheckInteger, 0,
21444
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST32rr), 0,
21445
1, MVT::i32, 2, 0, 0,
21450
OPC_CheckOpcode, ISD::Constant,
21452
OPC_CheckPredicate, 11,
21454
OPC_EmitConvertToTarget, 1,
21455
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP32ri8), 0,
21456
1, MVT::i32, 2, 0, 2,
21459
OPC_EmitConvertToTarget, 1,
21460
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP32ri), 0,
21461
1, MVT::i32, 2, 0, 2,
21464
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP32rr), 0,
21465
1, MVT::i32, 2, 0, 1,
21469
OPC_CheckChild0Type, MVT::i64,
21472
OPC_CheckInteger, 0,
21474
OPC_MorphNodeTo, TARGET_OPCODE(X86::TEST64rr), 0,
21475
1, MVT::i32, 2, 0, 0,
21480
OPC_CheckOpcode, ISD::Constant,
21482
OPC_CheckPredicate, 11,
21484
OPC_EmitConvertToTarget, 1,
21485
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP64ri8), 0,
21486
1, MVT::i32, 2, 0, 2,
21488
OPC_CheckPredicate, 12,
21490
OPC_EmitConvertToTarget, 1,
21491
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP64ri32), 0,
21492
1, MVT::i32, 2, 0, 2,
21495
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMP64rr), 0,
21496
1, MVT::i32, 2, 0, 1,
21500
OPC_CheckChild0Type, MVT::f32,
21503
OPC_CheckPatternPredicate, 6,
21504
OPC_MorphNodeTo, TARGET_OPCODE(X86::UCOM_FpIr32), 0,
21505
1, MVT::i32, 2, 0, 1,
21507
OPC_CheckPatternPredicate, 0,
21508
OPC_MorphNodeTo, TARGET_OPCODE(X86::UCOMISSrr), 0,
21509
1, MVT::i32, 2, 0, 1,
21512
OPC_CheckChild0Type, MVT::f64,
21515
OPC_CheckPatternPredicate, 7,
21516
OPC_MorphNodeTo, TARGET_OPCODE(X86::UCOM_FpIr64), 0,
21517
1, MVT::i32, 2, 0, 1,
21519
OPC_CheckPatternPredicate, 1,
21520
OPC_MorphNodeTo, TARGET_OPCODE(X86::UCOMISDrr), 0,
21521
1, MVT::i32, 2, 0, 1,
21524
OPC_CheckChild0Type, MVT::f80,
21526
OPC_MorphNodeTo, TARGET_OPCODE(X86::UCOM_FpIr80), 0,
21527
1, MVT::i32, 2, 0, 1,
21530
78, X86ISD::INSERTPS,
21534
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
21536
OPC_CheckOpcode, ISD::LOAD,
21537
OPC_CheckPredicate, 4,
21538
OPC_CheckPredicate, 9,
21539
OPC_CheckPredicate, 10,
21542
OPC_CheckFoldableChainNode,
21544
OPC_CheckType, MVT::f32,
21549
OPC_CheckOpcode, ISD::Constant,
21551
OPC_CheckPatternPredicate, 4,
21552
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21553
OPC_EmitMergeInputChains, 1, 1,
21554
OPC_EmitConvertToTarget, 3,
21555
OPC_MorphNodeTo, TARGET_OPCODE(X86::INSERTPSrm), 0|OPFL_Chain|OPFL_MemRefs,
21556
1, MVT::v4f32, 7, 0, 4, 5, 6, 7, 8, 9,
21561
OPC_CheckOpcode, ISD::Constant,
21563
OPC_CheckPatternPredicate, 4,
21564
OPC_EmitConvertToTarget, 2,
21565
OPC_MorphNodeTo, TARGET_OPCODE(X86::INSERTPSrr), 0,
21566
1, MVT::v4f32, 3, 0, 1, 3,
21568
76, X86ISD::MMX_PINSRW,
21572
OPC_CheckOpcode, ISD::ANY_EXTEND,
21574
OPC_CheckOpcode, ISD::LOAD,
21575
OPC_CheckPredicate, 4,
21576
OPC_CheckPredicate, 6,
21579
OPC_CheckFoldableChainNode,
21581
OPC_CheckType, MVT::i16,
21586
OPC_CheckOpcode, ISD::Constant,
21588
OPC_CheckPatternPredicate, 8,
21589
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21590
OPC_EmitMergeInputChains, 1, 1,
21591
OPC_EmitConvertToTarget, 3,
21592
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PINSRWrmi), 0|OPFL_Chain|OPFL_MemRefs,
21593
1, MVT::v4i16, 7, 0, 4, 5, 6, 7, 8, 9,
21598
OPC_CheckOpcode, ISD::Constant,
21600
OPC_CheckPatternPredicate, 8,
21601
OPC_EmitConvertToTarget, 2,
21602
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PINSRWrri), 0,
21603
1, MVT::v4i16, 3, 0, 1, 3,
21605
88, X86ISD::MOVQ2DQ,
21608
OPC_SwitchOpcode , 41, ISD::BIT_CONVERT,
21610
OPC_CheckOpcode, ISD::SCALAR_TO_VECTOR,
21612
OPC_CheckOpcode, ISD::LOAD,
21613
OPC_CheckPredicate, 4,
21614
OPC_CheckPredicate, 5,
21617
OPC_CheckFoldableChainNode,
21619
OPC_CheckType, MVT::i32,
21621
OPC_CheckType, MVT::v2i32,
21624
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21625
OPC_EmitMergeInputChains, 1, 0,
21626
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDI2PDIrm), 0|OPFL_Chain|OPFL_MemRefs,
21627
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
21629
OPC_CheckPredicate, 4,
21630
OPC_CheckPredicate, 9,
21635
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
21636
OPC_EmitMergeInputChains, 1, 0,
21637
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVQI2PQIrm), 0|OPFL_Chain|OPFL_MemRefs,
21638
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
21642
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ2DQrr), 0,
21643
1, MVT::v2i64, 1, 0,
21645
17|128,37, X86ISD::CMOV,
21646
OPC_Scope, 73|128,9,
21649
OPC_CheckOpcode, ISD::LOAD,
21650
OPC_CheckPredicate, 4,
21652
OPC_CheckPredicate, 6,
21655
OPC_CheckFoldableChainNode,
21659
OPC_CheckInteger, 2,
21662
OPC_CheckType, MVT::i16,
21663
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21664
OPC_EmitMergeInputChains, 1, 1,
21665
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21666
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVB16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21667
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
21669
OPC_CheckPredicate, 5,
21672
OPC_CheckFoldableChainNode,
21676
OPC_CheckInteger, 2,
21679
OPC_CheckType, MVT::i32,
21680
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21681
OPC_EmitMergeInputChains, 1, 1,
21682
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21683
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVB32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21684
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
21686
OPC_CheckPredicate, 6,
21689
OPC_CheckFoldableChainNode,
21693
OPC_CheckInteger, 1,
21696
OPC_CheckType, MVT::i16,
21697
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21698
OPC_EmitMergeInputChains, 1, 1,
21699
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21700
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVAE16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21701
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
21703
OPC_CheckPredicate, 5,
21706
OPC_CheckFoldableChainNode,
21710
OPC_CheckInteger, 1,
21713
OPC_CheckType, MVT::i32,
21714
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21715
OPC_EmitMergeInputChains, 1, 1,
21716
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21717
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVAE32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21718
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
21720
OPC_CheckPredicate, 6,
21723
OPC_CheckFoldableChainNode,
21727
OPC_CheckInteger, 4,
21730
OPC_CheckType, MVT::i16,
21731
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21732
OPC_EmitMergeInputChains, 1, 1,
21733
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21734
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVE16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21735
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
21737
OPC_CheckPredicate, 5,
21740
OPC_CheckFoldableChainNode,
21744
OPC_CheckInteger, 4,
21747
OPC_CheckType, MVT::i32,
21748
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21749
OPC_EmitMergeInputChains, 1, 1,
21750
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21751
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVE32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21752
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
21754
OPC_CheckPredicate, 6,
21757
OPC_CheckFoldableChainNode,
21761
OPC_CheckInteger, 9,
21764
OPC_CheckType, MVT::i16,
21765
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21766
OPC_EmitMergeInputChains, 1, 1,
21767
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21768
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNE16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21769
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
21771
OPC_CheckPredicate, 5,
21774
OPC_CheckFoldableChainNode,
21778
OPC_CheckInteger, 9,
21781
OPC_CheckType, MVT::i32,
21782
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21783
OPC_EmitMergeInputChains, 1, 1,
21784
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21785
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNE32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21786
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
21788
OPC_CheckPredicate, 6,
21791
OPC_CheckFoldableChainNode,
21795
OPC_CheckInteger, 3,
21798
OPC_CheckType, MVT::i16,
21799
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21800
OPC_EmitMergeInputChains, 1, 1,
21801
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21802
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVBE16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21803
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
21805
OPC_CheckPredicate, 5,
21808
OPC_CheckFoldableChainNode,
21812
OPC_CheckInteger, 3,
21815
OPC_CheckType, MVT::i32,
21816
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21817
OPC_EmitMergeInputChains, 1, 1,
21818
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21819
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVBE32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21820
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
21822
OPC_CheckPredicate, 6,
21825
OPC_CheckFoldableChainNode,
21829
OPC_CheckInteger, 0,
21832
OPC_CheckType, MVT::i16,
21833
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21834
OPC_EmitMergeInputChains, 1, 1,
21835
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21836
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVA16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21837
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
21839
OPC_CheckPredicate, 5,
21842
OPC_CheckFoldableChainNode,
21846
OPC_CheckInteger, 0,
21849
OPC_CheckType, MVT::i32,
21850
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21851
OPC_EmitMergeInputChains, 1, 1,
21852
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21853
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVA32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21854
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
21856
OPC_CheckPredicate, 6,
21859
OPC_CheckFoldableChainNode,
21863
OPC_CheckInteger, 7,
21866
OPC_CheckType, MVT::i16,
21867
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21868
OPC_EmitMergeInputChains, 1, 1,
21869
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21870
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVL16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21871
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
21873
OPC_CheckPredicate, 5,
21876
OPC_CheckFoldableChainNode,
21880
OPC_CheckInteger, 7,
21883
OPC_CheckType, MVT::i32,
21884
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21885
OPC_EmitMergeInputChains, 1, 1,
21886
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21887
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVL32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21888
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
21890
OPC_CheckPredicate, 6,
21893
OPC_CheckFoldableChainNode,
21897
OPC_CheckInteger, 6,
21900
OPC_CheckType, MVT::i16,
21901
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21902
OPC_EmitMergeInputChains, 1, 1,
21903
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21904
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVGE16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21905
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
21907
OPC_CheckPredicate, 5,
21910
OPC_CheckFoldableChainNode,
21914
OPC_CheckInteger, 6,
21917
OPC_CheckType, MVT::i32,
21918
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21919
OPC_EmitMergeInputChains, 1, 1,
21920
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21921
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVGE32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21922
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
21924
OPC_CheckPredicate, 6,
21927
OPC_CheckFoldableChainNode,
21931
OPC_CheckInteger, 8,
21934
OPC_CheckType, MVT::i16,
21935
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21936
OPC_EmitMergeInputChains, 1, 1,
21937
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21938
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVLE16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21939
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
21941
OPC_CheckPredicate, 5,
21944
OPC_CheckFoldableChainNode,
21948
OPC_CheckInteger, 8,
21951
OPC_CheckType, MVT::i32,
21952
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21953
OPC_EmitMergeInputChains, 1, 1,
21954
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21955
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVLE32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21956
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
21958
OPC_CheckPredicate, 6,
21961
OPC_CheckFoldableChainNode,
21965
OPC_CheckInteger, 5,
21968
OPC_CheckType, MVT::i16,
21969
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21970
OPC_EmitMergeInputChains, 1, 1,
21971
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21972
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVG16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21973
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
21975
OPC_CheckPredicate, 5,
21978
OPC_CheckFoldableChainNode,
21982
OPC_CheckInteger, 5,
21985
OPC_CheckType, MVT::i32,
21986
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
21987
OPC_EmitMergeInputChains, 1, 1,
21988
OPC_EmitCopyToReg, 3, X86::EFLAGS,
21989
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVG32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
21990
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
21992
OPC_CheckPredicate, 6,
21995
OPC_CheckFoldableChainNode,
21999
OPC_CheckInteger, 15,
22002
OPC_CheckType, MVT::i16,
22003
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22004
OPC_EmitMergeInputChains, 1, 1,
22005
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22006
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVS16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22007
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
22009
OPC_CheckPredicate, 5,
22012
OPC_CheckFoldableChainNode,
22016
OPC_CheckInteger, 15,
22019
OPC_CheckType, MVT::i32,
22020
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22021
OPC_EmitMergeInputChains, 1, 1,
22022
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22023
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVS32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22024
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
22026
OPC_CheckPredicate, 6,
22029
OPC_CheckFoldableChainNode,
22033
OPC_CheckInteger, 12,
22036
OPC_CheckType, MVT::i16,
22037
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22038
OPC_EmitMergeInputChains, 1, 1,
22039
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22040
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNS16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22041
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
22043
OPC_CheckPredicate, 5,
22046
OPC_CheckFoldableChainNode,
22050
OPC_CheckInteger, 12,
22053
OPC_CheckType, MVT::i32,
22054
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22055
OPC_EmitMergeInputChains, 1, 1,
22056
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22057
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNS32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22058
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
22060
OPC_CheckPredicate, 6,
22063
OPC_CheckFoldableChainNode,
22067
OPC_CheckInteger, 14,
22070
OPC_CheckType, MVT::i16,
22071
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22072
OPC_EmitMergeInputChains, 1, 1,
22073
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22074
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVP16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22075
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
22077
OPC_CheckPredicate, 5,
22080
OPC_CheckFoldableChainNode,
22084
OPC_CheckInteger, 14,
22087
OPC_CheckType, MVT::i32,
22088
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22089
OPC_EmitMergeInputChains, 1, 1,
22090
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22091
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVP32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22092
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
22094
OPC_CheckPredicate, 6,
22097
OPC_CheckFoldableChainNode,
22101
OPC_CheckInteger, 11,
22104
OPC_CheckType, MVT::i16,
22105
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22106
OPC_EmitMergeInputChains, 1, 1,
22107
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22108
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNP16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22109
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
22111
OPC_CheckPredicate, 5,
22114
OPC_CheckFoldableChainNode,
22118
OPC_CheckInteger, 11,
22121
OPC_CheckType, MVT::i32,
22122
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22123
OPC_EmitMergeInputChains, 1, 1,
22124
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22125
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNP32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22126
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
22128
OPC_CheckPredicate, 6,
22131
OPC_CheckFoldableChainNode,
22135
OPC_CheckInteger, 13,
22138
OPC_CheckType, MVT::i16,
22139
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22140
OPC_EmitMergeInputChains, 1, 1,
22141
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22142
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVO16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22143
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
22145
OPC_CheckPredicate, 5,
22148
OPC_CheckFoldableChainNode,
22152
OPC_CheckInteger, 13,
22155
OPC_CheckType, MVT::i32,
22156
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22157
OPC_EmitMergeInputChains, 1, 1,
22158
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22159
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVO32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22160
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
22162
OPC_CheckPredicate, 6,
22165
OPC_CheckFoldableChainNode,
22169
OPC_CheckInteger, 10,
22172
OPC_CheckType, MVT::i16,
22173
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22174
OPC_EmitMergeInputChains, 1, 1,
22175
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22176
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNO16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22177
1, MVT::i16, 6, 0, 4, 5, 6, 7, 8,
22179
OPC_CheckPredicate, 5,
22182
OPC_CheckFoldableChainNode,
22186
OPC_CheckInteger, 10,
22189
OPC_CheckType, MVT::i32,
22190
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22191
OPC_EmitMergeInputChains, 1, 1,
22192
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22193
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNO32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22194
1, MVT::i32, 6, 0, 4, 5, 6, 7, 8,
22198
OPC_CheckOpcode, ISD::LOAD,
22199
OPC_CheckPredicate, 4,
22201
OPC_CheckPredicate, 6,
22204
OPC_CheckFoldableChainNode,
22209
OPC_CheckInteger, 2,
22212
OPC_CheckType, MVT::i16,
22213
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22214
OPC_EmitMergeInputChains, 1, 0,
22215
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22216
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVAE16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22217
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22219
OPC_CheckPredicate, 5,
22222
OPC_CheckFoldableChainNode,
22227
OPC_CheckInteger, 2,
22230
OPC_CheckType, MVT::i32,
22231
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22232
OPC_EmitMergeInputChains, 1, 0,
22233
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22234
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVAE32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22235
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22237
OPC_CheckPredicate, 6,
22240
OPC_CheckFoldableChainNode,
22245
OPC_CheckInteger, 1,
22248
OPC_CheckType, MVT::i16,
22249
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22250
OPC_EmitMergeInputChains, 1, 0,
22251
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22252
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVB16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22253
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22255
OPC_CheckPredicate, 5,
22258
OPC_CheckFoldableChainNode,
22263
OPC_CheckInteger, 1,
22266
OPC_CheckType, MVT::i32,
22267
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22268
OPC_EmitMergeInputChains, 1, 0,
22269
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22270
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVB32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22271
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22273
OPC_CheckPredicate, 6,
22276
OPC_CheckFoldableChainNode,
22281
OPC_CheckInteger, 4,
22284
OPC_CheckType, MVT::i16,
22285
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22286
OPC_EmitMergeInputChains, 1, 0,
22287
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22288
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNE16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22289
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22291
OPC_CheckPredicate, 5,
22294
OPC_CheckFoldableChainNode,
22299
OPC_CheckInteger, 4,
22302
OPC_CheckType, MVT::i32,
22303
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22304
OPC_EmitMergeInputChains, 1, 0,
22305
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22306
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNE32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22307
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22309
OPC_CheckPredicate, 6,
22312
OPC_CheckFoldableChainNode,
22317
OPC_CheckInteger, 9,
22320
OPC_CheckType, MVT::i16,
22321
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22322
OPC_EmitMergeInputChains, 1, 0,
22323
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22324
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVE16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22325
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22327
OPC_CheckPredicate, 5,
22330
OPC_CheckFoldableChainNode,
22335
OPC_CheckInteger, 9,
22338
OPC_CheckType, MVT::i32,
22339
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22340
OPC_EmitMergeInputChains, 1, 0,
22341
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22342
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVE32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22343
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22345
OPC_CheckPredicate, 6,
22348
OPC_CheckFoldableChainNode,
22353
OPC_CheckInteger, 3,
22356
OPC_CheckType, MVT::i16,
22357
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22358
OPC_EmitMergeInputChains, 1, 0,
22359
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22360
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVA16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22361
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22363
OPC_CheckPredicate, 5,
22366
OPC_CheckFoldableChainNode,
22371
OPC_CheckInteger, 3,
22374
OPC_CheckType, MVT::i32,
22375
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22376
OPC_EmitMergeInputChains, 1, 0,
22377
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22378
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVA32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22379
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22381
OPC_CheckPredicate, 6,
22384
OPC_CheckFoldableChainNode,
22389
OPC_CheckInteger, 0,
22392
OPC_CheckType, MVT::i16,
22393
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22394
OPC_EmitMergeInputChains, 1, 0,
22395
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22396
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVBE16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22397
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22399
OPC_CheckPredicate, 5,
22402
OPC_CheckFoldableChainNode,
22407
OPC_CheckInteger, 0,
22410
OPC_CheckType, MVT::i32,
22411
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22412
OPC_EmitMergeInputChains, 1, 0,
22413
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22414
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVBE32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22415
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22417
OPC_CheckPredicate, 6,
22420
OPC_CheckFoldableChainNode,
22425
OPC_CheckInteger, 7,
22428
OPC_CheckType, MVT::i16,
22429
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22430
OPC_EmitMergeInputChains, 1, 0,
22431
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22432
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVGE16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22433
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22435
OPC_CheckPredicate, 5,
22438
OPC_CheckFoldableChainNode,
22443
OPC_CheckInteger, 7,
22446
OPC_CheckType, MVT::i32,
22447
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22448
OPC_EmitMergeInputChains, 1, 0,
22449
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22450
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVGE32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22451
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22453
OPC_CheckPredicate, 6,
22456
OPC_CheckFoldableChainNode,
22461
OPC_CheckInteger, 6,
22464
OPC_CheckType, MVT::i16,
22465
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22466
OPC_EmitMergeInputChains, 1, 0,
22467
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22468
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVL16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22469
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22471
OPC_CheckPredicate, 5,
22474
OPC_CheckFoldableChainNode,
22479
OPC_CheckInteger, 6,
22482
OPC_CheckType, MVT::i32,
22483
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22484
OPC_EmitMergeInputChains, 1, 0,
22485
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22486
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVL32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22487
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22489
OPC_CheckPredicate, 6,
22492
OPC_CheckFoldableChainNode,
22497
OPC_CheckInteger, 8,
22500
OPC_CheckType, MVT::i16,
22501
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22502
OPC_EmitMergeInputChains, 1, 0,
22503
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22504
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVG16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22505
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22507
OPC_CheckPredicate, 5,
22510
OPC_CheckFoldableChainNode,
22515
OPC_CheckInteger, 8,
22518
OPC_CheckType, MVT::i32,
22519
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22520
OPC_EmitMergeInputChains, 1, 0,
22521
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22522
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVG32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22523
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22525
OPC_CheckPredicate, 6,
22528
OPC_CheckFoldableChainNode,
22533
OPC_CheckInteger, 5,
22536
OPC_CheckType, MVT::i16,
22537
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22538
OPC_EmitMergeInputChains, 1, 0,
22539
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22540
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVLE16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22541
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22543
OPC_CheckPredicate, 5,
22546
OPC_CheckFoldableChainNode,
22551
OPC_CheckInteger, 5,
22554
OPC_CheckType, MVT::i32,
22555
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22556
OPC_EmitMergeInputChains, 1, 0,
22557
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22558
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVLE32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22559
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22561
OPC_CheckPredicate, 6,
22564
OPC_CheckFoldableChainNode,
22569
OPC_CheckInteger, 14,
22572
OPC_CheckType, MVT::i16,
22573
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22574
OPC_EmitMergeInputChains, 1, 0,
22575
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22576
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNP16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22577
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22579
OPC_CheckPredicate, 5,
22582
OPC_CheckFoldableChainNode,
22587
OPC_CheckInteger, 14,
22590
OPC_CheckType, MVT::i32,
22591
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22592
OPC_EmitMergeInputChains, 1, 0,
22593
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22594
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNP32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22595
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22597
OPC_CheckPredicate, 6,
22600
OPC_CheckFoldableChainNode,
22605
OPC_CheckInteger, 11,
22608
OPC_CheckType, MVT::i16,
22609
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22610
OPC_EmitMergeInputChains, 1, 0,
22611
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22612
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVP16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22613
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22615
OPC_CheckPredicate, 5,
22618
OPC_CheckFoldableChainNode,
22623
OPC_CheckInteger, 11,
22626
OPC_CheckType, MVT::i32,
22627
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22628
OPC_EmitMergeInputChains, 1, 0,
22629
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22630
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVP32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22631
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22633
OPC_CheckPredicate, 6,
22636
OPC_CheckFoldableChainNode,
22641
OPC_CheckInteger, 15,
22644
OPC_CheckType, MVT::i16,
22645
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22646
OPC_EmitMergeInputChains, 1, 0,
22647
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22648
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNS16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22649
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22651
OPC_CheckPredicate, 5,
22654
OPC_CheckFoldableChainNode,
22659
OPC_CheckInteger, 15,
22662
OPC_CheckType, MVT::i32,
22663
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22664
OPC_EmitMergeInputChains, 1, 0,
22665
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22666
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNS32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22667
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22669
OPC_CheckPredicate, 6,
22672
OPC_CheckFoldableChainNode,
22677
OPC_CheckInteger, 12,
22680
OPC_CheckType, MVT::i16,
22681
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22682
OPC_EmitMergeInputChains, 1, 0,
22683
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22684
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVS16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22685
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22687
OPC_CheckPredicate, 5,
22690
OPC_CheckFoldableChainNode,
22695
OPC_CheckInteger, 12,
22698
OPC_CheckType, MVT::i32,
22699
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22700
OPC_EmitMergeInputChains, 1, 0,
22701
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22702
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVS32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22703
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22705
OPC_CheckPredicate, 6,
22708
OPC_CheckFoldableChainNode,
22713
OPC_CheckInteger, 13,
22716
OPC_CheckType, MVT::i16,
22717
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22718
OPC_EmitMergeInputChains, 1, 0,
22719
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22720
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNO16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22721
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22723
OPC_CheckPredicate, 5,
22726
OPC_CheckFoldableChainNode,
22731
OPC_CheckInteger, 13,
22734
OPC_CheckType, MVT::i32,
22735
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22736
OPC_EmitMergeInputChains, 1, 0,
22737
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22738
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNO32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22739
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22741
OPC_CheckPredicate, 6,
22744
OPC_CheckFoldableChainNode,
22749
OPC_CheckInteger, 10,
22752
OPC_CheckType, MVT::i16,
22753
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22754
OPC_EmitMergeInputChains, 1, 0,
22755
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22756
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVO16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22757
1, MVT::i16, 6, 2, 4, 5, 6, 7, 8,
22759
OPC_CheckPredicate, 5,
22762
OPC_CheckFoldableChainNode,
22767
OPC_CheckInteger, 10,
22770
OPC_CheckType, MVT::i32,
22771
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22772
OPC_EmitMergeInputChains, 1, 0,
22773
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22774
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVO32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22775
1, MVT::i32, 6, 2, 4, 5, 6, 7, 8,
22780
OPC_CheckOpcode, ISD::LOAD,
22781
OPC_CheckPredicate, 4,
22782
OPC_CheckPredicate, 9,
22783
OPC_CheckPredicate, 10,
22786
OPC_CheckFoldableChainNode,
22791
OPC_CheckInteger, 2,
22794
OPC_CheckType, MVT::i64,
22795
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22796
OPC_EmitMergeInputChains, 1, 1,
22797
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22798
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVB64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22799
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22801
OPC_CheckInteger, 1,
22804
OPC_CheckType, MVT::i64,
22805
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22806
OPC_EmitMergeInputChains, 1, 1,
22807
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22808
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVAE64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22809
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22811
OPC_CheckInteger, 4,
22814
OPC_CheckType, MVT::i64,
22815
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22816
OPC_EmitMergeInputChains, 1, 1,
22817
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22818
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVE64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22819
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22821
OPC_CheckInteger, 9,
22824
OPC_CheckType, MVT::i64,
22825
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22826
OPC_EmitMergeInputChains, 1, 1,
22827
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22828
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNE64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22829
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22831
OPC_CheckInteger, 3,
22834
OPC_CheckType, MVT::i64,
22835
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22836
OPC_EmitMergeInputChains, 1, 1,
22837
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22838
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVBE64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22839
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22841
OPC_CheckInteger, 0,
22844
OPC_CheckType, MVT::i64,
22845
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22846
OPC_EmitMergeInputChains, 1, 1,
22847
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22848
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVA64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22849
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22851
OPC_CheckInteger, 7,
22854
OPC_CheckType, MVT::i64,
22855
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22856
OPC_EmitMergeInputChains, 1, 1,
22857
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22858
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVL64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22859
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22861
OPC_CheckInteger, 6,
22864
OPC_CheckType, MVT::i64,
22865
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22866
OPC_EmitMergeInputChains, 1, 1,
22867
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22868
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVGE64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22869
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22871
OPC_CheckInteger, 8,
22874
OPC_CheckType, MVT::i64,
22875
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22876
OPC_EmitMergeInputChains, 1, 1,
22877
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22878
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVLE64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22879
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22881
OPC_CheckInteger, 5,
22884
OPC_CheckType, MVT::i64,
22885
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22886
OPC_EmitMergeInputChains, 1, 1,
22887
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22888
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVG64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22889
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22891
OPC_CheckInteger, 15,
22894
OPC_CheckType, MVT::i64,
22895
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22896
OPC_EmitMergeInputChains, 1, 1,
22897
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22898
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVS64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22899
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22901
OPC_CheckInteger, 12,
22904
OPC_CheckType, MVT::i64,
22905
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22906
OPC_EmitMergeInputChains, 1, 1,
22907
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22908
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNS64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22909
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22911
OPC_CheckInteger, 14,
22914
OPC_CheckType, MVT::i64,
22915
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22916
OPC_EmitMergeInputChains, 1, 1,
22917
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22918
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVP64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22919
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22921
OPC_CheckInteger, 11,
22924
OPC_CheckType, MVT::i64,
22925
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22926
OPC_EmitMergeInputChains, 1, 1,
22927
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22928
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNP64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22929
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22931
OPC_CheckInteger, 13,
22934
OPC_CheckType, MVT::i64,
22935
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22936
OPC_EmitMergeInputChains, 1, 1,
22937
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22938
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVO64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22939
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22941
OPC_CheckInteger, 10,
22944
OPC_CheckType, MVT::i64,
22945
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
22946
OPC_EmitMergeInputChains, 1, 1,
22947
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22948
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNO64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22949
1, MVT::i64, 6, 0, 4, 5, 6, 7, 8,
22953
OPC_CheckOpcode, ISD::LOAD,
22954
OPC_CheckPredicate, 4,
22955
OPC_CheckPredicate, 9,
22956
OPC_CheckPredicate, 10,
22959
OPC_CheckFoldableChainNode,
22965
OPC_CheckInteger, 2,
22968
OPC_CheckType, MVT::i64,
22969
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22970
OPC_EmitMergeInputChains, 1, 0,
22971
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22972
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVAE64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22973
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
22975
OPC_CheckInteger, 1,
22978
OPC_CheckType, MVT::i64,
22979
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22980
OPC_EmitMergeInputChains, 1, 0,
22981
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22982
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVB64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22983
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
22985
OPC_CheckInteger, 4,
22988
OPC_CheckType, MVT::i64,
22989
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
22990
OPC_EmitMergeInputChains, 1, 0,
22991
OPC_EmitCopyToReg, 3, X86::EFLAGS,
22992
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNE64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
22993
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
22995
OPC_CheckInteger, 9,
22998
OPC_CheckType, MVT::i64,
22999
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23000
OPC_EmitMergeInputChains, 1, 0,
23001
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23002
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVE64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23003
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
23005
OPC_CheckInteger, 3,
23008
OPC_CheckType, MVT::i64,
23009
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23010
OPC_EmitMergeInputChains, 1, 0,
23011
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23012
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVA64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23013
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
23015
OPC_CheckInteger, 0,
23018
OPC_CheckType, MVT::i64,
23019
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23020
OPC_EmitMergeInputChains, 1, 0,
23021
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23022
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVBE64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23023
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
23025
OPC_CheckInteger, 7,
23028
OPC_CheckType, MVT::i64,
23029
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23030
OPC_EmitMergeInputChains, 1, 0,
23031
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23032
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVGE64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23033
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
23035
OPC_CheckInteger, 6,
23038
OPC_CheckType, MVT::i64,
23039
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23040
OPC_EmitMergeInputChains, 1, 0,
23041
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23042
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVL64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23043
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
23045
OPC_CheckInteger, 8,
23048
OPC_CheckType, MVT::i64,
23049
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23050
OPC_EmitMergeInputChains, 1, 0,
23051
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23052
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVG64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23053
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
23055
OPC_CheckInteger, 5,
23058
OPC_CheckType, MVT::i64,
23059
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23060
OPC_EmitMergeInputChains, 1, 0,
23061
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23062
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVLE64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23063
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
23065
OPC_CheckInteger, 14,
23068
OPC_CheckType, MVT::i64,
23069
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23070
OPC_EmitMergeInputChains, 1, 0,
23071
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23072
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNP64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23073
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
23075
OPC_CheckInteger, 11,
23078
OPC_CheckType, MVT::i64,
23079
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23080
OPC_EmitMergeInputChains, 1, 0,
23081
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23082
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVP64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23083
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
23085
OPC_CheckInteger, 15,
23088
OPC_CheckType, MVT::i64,
23089
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23090
OPC_EmitMergeInputChains, 1, 0,
23091
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23092
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNS64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23093
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
23095
OPC_CheckInteger, 12,
23098
OPC_CheckType, MVT::i64,
23099
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23100
OPC_EmitMergeInputChains, 1, 0,
23101
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23102
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVS64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23103
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
23105
OPC_CheckInteger, 13,
23108
OPC_CheckType, MVT::i64,
23109
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23110
OPC_EmitMergeInputChains, 1, 0,
23111
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23112
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNO64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23113
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
23115
OPC_CheckInteger, 10,
23118
OPC_CheckType, MVT::i64,
23119
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23120
OPC_EmitMergeInputChains, 1, 0,
23121
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23122
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVO64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23123
1, MVT::i64, 6, 2, 4, 5, 6, 7, 8,
23128
OPC_Scope, 4|128,9,
23131
OPC_CheckInteger, 2,
23134
OPC_SwitchType , 14, MVT::f32,
23135
OPC_CheckPatternPredicate, 6,
23136
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23137
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVB_Fp32), 0|OPFL_FlagInput,
23138
1, MVT::f32, 2, 0, 1,
23140
OPC_CheckPatternPredicate, 7,
23141
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23142
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVB_Fp64), 0|OPFL_FlagInput,
23143
1, MVT::f64, 2, 0, 1,
23145
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23146
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVB_Fp80), 0|OPFL_FlagInput,
23147
1, MVT::f80, 2, 0, 1,
23149
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23150
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVB16rr), 0|OPFL_FlagInput,
23151
1, MVT::i16, 2, 0, 1,
23153
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23154
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVB32rr), 0|OPFL_FlagInput,
23155
1, MVT::i32, 2, 0, 1,
23157
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23158
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVB64rr), 0|OPFL_FlagInput,
23159
1, MVT::i64, 2, 0, 1,
23162
OPC_CheckInteger, 3,
23165
OPC_SwitchType , 14, MVT::f32,
23166
OPC_CheckPatternPredicate, 6,
23167
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23168
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVBE_Fp32), 0|OPFL_FlagInput,
23169
1, MVT::f32, 2, 0, 1,
23171
OPC_CheckPatternPredicate, 7,
23172
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23173
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVBE_Fp64), 0|OPFL_FlagInput,
23174
1, MVT::f64, 2, 0, 1,
23176
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23177
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVBE_Fp80), 0|OPFL_FlagInput,
23178
1, MVT::f80, 2, 0, 1,
23180
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23181
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVBE16rr), 0|OPFL_FlagInput,
23182
1, MVT::i16, 2, 0, 1,
23184
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23185
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVBE32rr), 0|OPFL_FlagInput,
23186
1, MVT::i32, 2, 0, 1,
23188
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23189
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVBE64rr), 0|OPFL_FlagInput,
23190
1, MVT::i64, 2, 0, 1,
23193
OPC_CheckInteger, 4,
23196
OPC_SwitchType , 14, MVT::f32,
23197
OPC_CheckPatternPredicate, 6,
23198
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23199
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVE_Fp32), 0|OPFL_FlagInput,
23200
1, MVT::f32, 2, 0, 1,
23202
OPC_CheckPatternPredicate, 7,
23203
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23204
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVE_Fp64), 0|OPFL_FlagInput,
23205
1, MVT::f64, 2, 0, 1,
23207
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23208
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVE_Fp80), 0|OPFL_FlagInput,
23209
1, MVT::f80, 2, 0, 1,
23211
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23212
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVE16rr), 0|OPFL_FlagInput,
23213
1, MVT::i16, 2, 0, 1,
23215
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23216
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVE32rr), 0|OPFL_FlagInput,
23217
1, MVT::i32, 2, 0, 1,
23219
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23220
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVE64rr), 0|OPFL_FlagInput,
23221
1, MVT::i64, 2, 0, 1,
23224
OPC_CheckInteger, 14,
23227
OPC_SwitchType , 14, MVT::f32,
23228
OPC_CheckPatternPredicate, 6,
23229
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23230
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVP_Fp32), 0|OPFL_FlagInput,
23231
1, MVT::f32, 2, 0, 1,
23233
OPC_CheckPatternPredicate, 7,
23234
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23235
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVP_Fp64), 0|OPFL_FlagInput,
23236
1, MVT::f64, 2, 0, 1,
23238
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23239
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVP_Fp80), 0|OPFL_FlagInput,
23240
1, MVT::f80, 2, 0, 1,
23242
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23243
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVP16rr), 0|OPFL_FlagInput,
23244
1, MVT::i16, 2, 0, 1,
23246
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23247
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVP32rr), 0|OPFL_FlagInput,
23248
1, MVT::i32, 2, 0, 1,
23250
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23251
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVP64rr), 0|OPFL_FlagInput,
23252
1, MVT::i64, 2, 0, 1,
23255
OPC_CheckInteger, 1,
23258
OPC_SwitchType , 14, MVT::f32,
23259
OPC_CheckPatternPredicate, 6,
23260
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23261
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNB_Fp32), 0|OPFL_FlagInput,
23262
1, MVT::f32, 2, 0, 1,
23264
OPC_CheckPatternPredicate, 7,
23265
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23266
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNB_Fp64), 0|OPFL_FlagInput,
23267
1, MVT::f64, 2, 0, 1,
23269
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23270
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNB_Fp80), 0|OPFL_FlagInput,
23271
1, MVT::f80, 2, 0, 1,
23273
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23274
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVAE16rr), 0|OPFL_FlagInput,
23275
1, MVT::i16, 2, 0, 1,
23277
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23278
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVAE32rr), 0|OPFL_FlagInput,
23279
1, MVT::i32, 2, 0, 1,
23281
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23282
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVAE64rr), 0|OPFL_FlagInput,
23283
1, MVT::i64, 2, 0, 1,
23286
OPC_CheckInteger, 0,
23289
OPC_SwitchType , 14, MVT::f32,
23290
OPC_CheckPatternPredicate, 6,
23291
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23292
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNBE_Fp32), 0|OPFL_FlagInput,
23293
1, MVT::f32, 2, 0, 1,
23295
OPC_CheckPatternPredicate, 7,
23296
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23297
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNBE_Fp64), 0|OPFL_FlagInput,
23298
1, MVT::f64, 2, 0, 1,
23300
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23301
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNBE_Fp80), 0|OPFL_FlagInput,
23302
1, MVT::f80, 2, 0, 1,
23304
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23305
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVA16rr), 0|OPFL_FlagInput,
23306
1, MVT::i16, 2, 0, 1,
23308
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23309
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVA32rr), 0|OPFL_FlagInput,
23310
1, MVT::i32, 2, 0, 1,
23312
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23313
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVA64rr), 0|OPFL_FlagInput,
23314
1, MVT::i64, 2, 0, 1,
23317
OPC_CheckInteger, 9,
23320
OPC_SwitchType , 14, MVT::f32,
23321
OPC_CheckPatternPredicate, 6,
23322
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23323
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNE_Fp32), 0|OPFL_FlagInput,
23324
1, MVT::f32, 2, 0, 1,
23326
OPC_CheckPatternPredicate, 7,
23327
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23328
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNE_Fp64), 0|OPFL_FlagInput,
23329
1, MVT::f64, 2, 0, 1,
23331
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23332
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNE_Fp80), 0|OPFL_FlagInput,
23333
1, MVT::f80, 2, 0, 1,
23335
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23336
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNE16rr), 0|OPFL_FlagInput,
23337
1, MVT::i16, 2, 0, 1,
23339
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23340
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNE32rr), 0|OPFL_FlagInput,
23341
1, MVT::i32, 2, 0, 1,
23343
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23344
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNE64rr), 0|OPFL_FlagInput,
23345
1, MVT::i64, 2, 0, 1,
23348
OPC_CheckInteger, 11,
23351
OPC_SwitchType , 14, MVT::f32,
23352
OPC_CheckPatternPredicate, 6,
23353
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23354
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNP_Fp32), 0|OPFL_FlagInput,
23355
1, MVT::f32, 2, 0, 1,
23357
OPC_CheckPatternPredicate, 7,
23358
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23359
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNP_Fp64), 0|OPFL_FlagInput,
23360
1, MVT::f64, 2, 0, 1,
23362
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23363
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNP_Fp80), 0|OPFL_FlagInput,
23364
1, MVT::f80, 2, 0, 1,
23366
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23367
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNP16rr), 0|OPFL_FlagInput,
23368
1, MVT::i16, 2, 0, 1,
23370
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23371
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNP32rr), 0|OPFL_FlagInput,
23372
1, MVT::i32, 2, 0, 1,
23374
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23375
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNP64rr), 0|OPFL_FlagInput,
23376
1, MVT::i64, 2, 0, 1,
23379
OPC_CheckInteger, 7,
23382
OPC_SwitchType , 12, MVT::i16,
23383
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23384
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVL16rr), 0|OPFL_FlagInput,
23385
1, MVT::i16, 2, 0, 1,
23387
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23388
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVL32rr), 0|OPFL_FlagInput,
23389
1, MVT::i32, 2, 0, 1,
23391
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23392
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVL64rr), 0|OPFL_FlagInput,
23393
1, MVT::i64, 2, 0, 1,
23396
OPC_CheckInteger, 6,
23399
OPC_SwitchType , 12, MVT::i16,
23400
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23401
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVGE16rr), 0|OPFL_FlagInput,
23402
1, MVT::i16, 2, 0, 1,
23404
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23405
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVGE32rr), 0|OPFL_FlagInput,
23406
1, MVT::i32, 2, 0, 1,
23408
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23409
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVGE64rr), 0|OPFL_FlagInput,
23410
1, MVT::i64, 2, 0, 1,
23413
OPC_CheckInteger, 8,
23416
OPC_SwitchType , 12, MVT::i16,
23417
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23418
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVLE16rr), 0|OPFL_FlagInput,
23419
1, MVT::i16, 2, 0, 1,
23421
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23422
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVLE32rr), 0|OPFL_FlagInput,
23423
1, MVT::i32, 2, 0, 1,
23425
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23426
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVLE64rr), 0|OPFL_FlagInput,
23427
1, MVT::i64, 2, 0, 1,
23430
OPC_CheckInteger, 5,
23433
OPC_SwitchType , 12, MVT::i16,
23434
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23435
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVG16rr), 0|OPFL_FlagInput,
23436
1, MVT::i16, 2, 0, 1,
23438
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23439
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVG32rr), 0|OPFL_FlagInput,
23440
1, MVT::i32, 2, 0, 1,
23442
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23443
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVG64rr), 0|OPFL_FlagInput,
23444
1, MVT::i64, 2, 0, 1,
23447
OPC_CheckInteger, 15,
23450
OPC_SwitchType , 12, MVT::i16,
23451
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23452
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVS16rr), 0|OPFL_FlagInput,
23453
1, MVT::i16, 2, 0, 1,
23455
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23456
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVS32rr), 0|OPFL_FlagInput,
23457
1, MVT::i32, 2, 0, 1,
23459
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23460
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVS64rr), 0|OPFL_FlagInput,
23461
1, MVT::i64, 2, 0, 1,
23464
OPC_CheckInteger, 12,
23467
OPC_SwitchType , 12, MVT::i16,
23468
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23469
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNS16rr), 0|OPFL_FlagInput,
23470
1, MVT::i16, 2, 0, 1,
23472
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23473
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNS32rr), 0|OPFL_FlagInput,
23474
1, MVT::i32, 2, 0, 1,
23476
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23477
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNS64rr), 0|OPFL_FlagInput,
23478
1, MVT::i64, 2, 0, 1,
23481
OPC_CheckInteger, 13,
23484
OPC_SwitchType , 12, MVT::i16,
23485
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23486
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVO16rr), 0|OPFL_FlagInput,
23487
1, MVT::i16, 2, 0, 1,
23489
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23490
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVO32rr), 0|OPFL_FlagInput,
23491
1, MVT::i32, 2, 0, 1,
23493
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23494
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVO64rr), 0|OPFL_FlagInput,
23495
1, MVT::i64, 2, 0, 1,
23498
OPC_CheckInteger, 10,
23501
OPC_SwitchType , 12, MVT::i16,
23502
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23503
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNO16rr), 0|OPFL_FlagInput,
23504
1, MVT::i16, 2, 0, 1,
23506
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23507
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNO32rr), 0|OPFL_FlagInput,
23508
1, MVT::i32, 2, 0, 1,
23510
OPC_EmitCopyToReg, 2, X86::EFLAGS,
23511
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOVNO64rr), 0|OPFL_FlagInput,
23512
1, MVT::i64, 2, 0, 1,
23518
OPC_CheckOpcode, ISD::Constant,
23521
OPC_SwitchType , 15, MVT::i8,
23522
OPC_EmitConvertToTarget, 2,
23523
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23524
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOV_GR8), 0|OPFL_FlagInput,
23525
1, MVT::i8, 3, 0, 1, 4,
23527
OPC_EmitConvertToTarget, 2,
23528
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23529
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOV_FR32), 0|OPFL_FlagInput,
23530
1, MVT::f32, 3, 0, 1, 4,
23532
OPC_EmitConvertToTarget, 2,
23533
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23534
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOV_FR64), 0|OPFL_FlagInput,
23535
1, MVT::f64, 3, 0, 1, 4,
23537
OPC_EmitConvertToTarget, 2,
23538
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23539
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOV_V4F32), 0|OPFL_FlagInput,
23540
1, MVT::v4f32, 3, 0, 1, 4,
23542
OPC_EmitConvertToTarget, 2,
23543
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23544
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOV_V2F64), 0|OPFL_FlagInput,
23545
1, MVT::v2f64, 3, 0, 1, 4,
23547
OPC_EmitConvertToTarget, 2,
23548
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23549
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOV_V2I64), 0|OPFL_FlagInput,
23550
1, MVT::v2i64, 3, 0, 1, 4,
23552
OPC_EmitConvertToTarget, 2,
23553
OPC_EmitCopyToReg, 3, X86::EFLAGS,
23554
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMOV_V1I64), 0|OPFL_FlagInput,
23555
1, MVT::v1i64, 3, 0, 1, 4,
23559
112|128,6, ISD::MUL,
23560
OPC_Scope, 50|128,1,
23562
OPC_CheckOpcode, ISD::LOAD,
23563
OPC_CheckPredicate, 4,
23564
OPC_CheckPredicate, 9,
23567
OPC_CheckFoldableChainNode,
23572
OPC_CheckOpcode, ISD::Constant,
23574
OPC_CheckPredicate, 11,
23576
OPC_SwitchType , 22, MVT::i16,
23577
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23578
OPC_EmitMergeInputChains, 1, 0,
23579
OPC_EmitConvertToTarget, 2,
23580
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rmi8), 0|OPFL_Chain|OPFL_MemRefs,
23581
2, MVT::i16, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
23583
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23584
OPC_EmitMergeInputChains, 1, 0,
23585
OPC_EmitConvertToTarget, 2,
23586
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rmi8), 0|OPFL_Chain|OPFL_MemRefs,
23587
2, MVT::i32, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
23589
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23590
OPC_EmitMergeInputChains, 1, 0,
23591
OPC_EmitConvertToTarget, 2,
23592
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rmi8), 0|OPFL_Chain|OPFL_MemRefs,
23593
2, MVT::i64, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
23596
OPC_CheckPredicate, 12,
23598
OPC_CheckType, MVT::i64,
23599
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23600
OPC_EmitMergeInputChains, 1, 0,
23601
OPC_EmitConvertToTarget, 2,
23602
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rmi32), 0|OPFL_Chain|OPFL_MemRefs,
23603
2, MVT::i64, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
23606
OPC_SwitchType , 22, MVT::i16,
23607
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23608
OPC_EmitMergeInputChains, 1, 0,
23609
OPC_EmitConvertToTarget, 2,
23610
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rmi), 0|OPFL_Chain|OPFL_MemRefs,
23611
2, MVT::i16, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
23613
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23614
OPC_EmitMergeInputChains, 1, 0,
23615
OPC_EmitConvertToTarget, 2,
23616
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rmi), 0|OPFL_Chain|OPFL_MemRefs,
23617
2, MVT::i32, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
23623
OPC_CheckOpcode, ISD::BIT_CONVERT,
23625
OPC_CheckOpcode, ISD::LOAD,
23626
OPC_CheckPredicate, 4,
23627
OPC_CheckPredicate, 9,
23629
OPC_CheckPredicate, 24,
23632
OPC_CheckFoldableChainNode,
23634
OPC_CheckType, MVT::v2i64,
23637
OPC_CheckType, MVT::v8i16,
23638
OPC_CheckPatternPredicate, 1,
23639
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
23640
OPC_EmitMergeInputChains, 1, 1,
23641
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULLWrm), 0|OPFL_Chain|OPFL_MemRefs,
23642
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
23646
OPC_CheckFoldableChainNode,
23648
OPC_CheckType, MVT::v1i64,
23651
OPC_CheckType, MVT::v4i16,
23652
OPC_CheckPatternPredicate, 8,
23653
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
23654
OPC_EmitMergeInputChains, 1, 1,
23655
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMULLWrm), 0|OPFL_Chain|OPFL_MemRefs,
23656
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
23660
OPC_CheckOpcode, ISD::BIT_CONVERT,
23662
OPC_CheckOpcode, ISD::LOAD,
23663
OPC_CheckPredicate, 4,
23664
OPC_CheckPredicate, 9,
23666
OPC_CheckPredicate, 24,
23669
OPC_CheckFoldableChainNode,
23671
OPC_CheckType, MVT::v2i64,
23675
OPC_CheckType, MVT::v8i16,
23676
OPC_CheckPatternPredicate, 1,
23677
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23678
OPC_EmitMergeInputChains, 1, 0,
23679
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULLWrm), 0|OPFL_Chain|OPFL_MemRefs,
23680
1, MVT::v8i16, 6, 2, 3, 4, 5, 6, 7,
23684
OPC_CheckFoldableChainNode,
23686
OPC_CheckType, MVT::v1i64,
23690
OPC_CheckType, MVT::v4i16,
23691
OPC_CheckPatternPredicate, 8,
23692
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23693
OPC_EmitMergeInputChains, 1, 0,
23694
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMULLWrm), 0|OPFL_Chain|OPFL_MemRefs,
23695
1, MVT::v4i16, 6, 2, 3, 4, 5, 6, 7,
23700
OPC_CheckOpcode, ISD::LOAD,
23701
OPC_CheckPredicate, 4,
23702
OPC_CheckPredicate, 9,
23704
OPC_CheckPredicate, 10,
23707
OPC_CheckFoldableChainNode,
23710
OPC_CheckType, MVT::i8,
23711
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
23712
OPC_EmitMergeInputChains, 1, 1,
23713
OPC_EmitCopyToReg, 0, X86::AL,
23714
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL8m), 0|OPFL_Chain|OPFL_FlagInput|OPFL_MemRefs,
23715
2, MVT::i8, MVT::i32, 5, 3, 4, 5, 6, 7,
23719
OPC_CheckFoldableChainNode,
23722
OPC_SwitchType , 20, MVT::i16,
23723
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
23724
OPC_EmitMergeInputChains, 1, 1,
23725
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rm), 0|OPFL_Chain|OPFL_MemRefs,
23726
2, MVT::i16, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
23728
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
23729
OPC_EmitMergeInputChains, 1, 1,
23730
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rm), 0|OPFL_Chain|OPFL_MemRefs,
23731
2, MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
23733
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
23734
OPC_EmitMergeInputChains, 1, 1,
23735
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rm), 0|OPFL_Chain|OPFL_MemRefs,
23736
2, MVT::i64, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
23739
OPC_CheckPredicate, 24,
23742
OPC_CheckFoldableChainNode,
23745
OPC_CheckType, MVT::v4i32,
23746
OPC_CheckPatternPredicate, 4,
23747
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
23748
OPC_EmitMergeInputChains, 1, 1,
23749
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULLDrm), 0|OPFL_Chain|OPFL_MemRefs,
23750
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
23754
OPC_CheckOpcode, ISD::LOAD,
23755
OPC_CheckPredicate, 4,
23756
OPC_CheckPredicate, 9,
23760
OPC_CheckFoldableChainNode,
23764
OPC_SwitchType , 20, MVT::i16,
23765
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23766
OPC_EmitMergeInputChains, 1, 0,
23767
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rm), 0|OPFL_Chain|OPFL_MemRefs,
23768
2, MVT::i16, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
23770
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23771
OPC_EmitMergeInputChains, 1, 0,
23772
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rm), 0|OPFL_Chain|OPFL_MemRefs,
23773
2, MVT::i32, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
23775
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23776
OPC_EmitMergeInputChains, 1, 0,
23777
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rm), 0|OPFL_Chain|OPFL_MemRefs,
23778
2, MVT::i64, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
23781
OPC_CheckPredicate, 24,
23784
OPC_CheckFoldableChainNode,
23788
OPC_CheckType, MVT::v4i32,
23789
OPC_CheckPatternPredicate, 4,
23790
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23791
OPC_EmitMergeInputChains, 1, 0,
23792
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULLDrm), 0|OPFL_Chain|OPFL_MemRefs,
23793
1, MVT::v4i32, 6, 2, 3, 4, 5, 6, 7,
23797
OPC_SwitchType , 36, MVT::i32,
23799
OPC_CheckPatternPredicate, 2,
23800
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
23801
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA32r), 0,
23802
1, MVT::i32, 4, 1, 2, 3, 4,
23804
OPC_CheckPatternPredicate, 3,
23805
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
23806
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64_32r), 0,
23807
1, MVT::i32, 4, 1, 2, 3, 4,
23810
OPC_CheckComplexPat, /*CP*/4, /*#*/0,
23811
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64r), 0,
23812
1, MVT::i64, 4, 1, 2, 3, 4,
23819
OPC_CheckOpcode, ISD::Constant,
23821
OPC_CheckPredicate, 11,
23823
OPC_SwitchType , 12, MVT::i16,
23824
OPC_EmitConvertToTarget, 1,
23825
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rri8), 0,
23826
2, MVT::i16, MVT::i32, 2, 0, 2,
23828
OPC_EmitConvertToTarget, 1,
23829
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rri8), 0,
23830
2, MVT::i32, MVT::i32, 2, 0, 2,
23832
OPC_EmitConvertToTarget, 1,
23833
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rri8), 0,
23834
2, MVT::i64, MVT::i32, 2, 0, 2,
23837
OPC_CheckPredicate, 12,
23839
OPC_CheckType, MVT::i64,
23840
OPC_EmitConvertToTarget, 1,
23841
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rri32), 0,
23842
2, MVT::i64, MVT::i32, 2, 0, 2,
23845
OPC_SwitchType , 12, MVT::i16,
23846
OPC_EmitConvertToTarget, 1,
23847
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rri), 0,
23848
2, MVT::i16, MVT::i32, 2, 0, 2,
23850
OPC_EmitConvertToTarget, 1,
23851
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rri), 0,
23852
2, MVT::i32, MVT::i32, 2, 0, 2,
23856
OPC_CheckType, MVT::i8,
23857
OPC_EmitCopyToReg, 0, X86::AL,
23858
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL8r), 0|OPFL_FlagInput,
23859
2, MVT::i8, MVT::i32, 1, 1,
23861
OPC_CheckType, MVT::i16,
23862
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rr), 0,
23863
2, MVT::i16, MVT::i32, 2, 0, 1,
23865
OPC_CheckType, MVT::i32,
23866
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rr), 0,
23867
2, MVT::i32, MVT::i32, 2, 0, 1,
23869
OPC_CheckType, MVT::i64,
23870
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rr), 0,
23871
2, MVT::i64, MVT::i32, 2, 0, 1,
23873
OPC_CheckType, MVT::v8i16,
23874
OPC_CheckPatternPredicate, 1,
23875
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULLWrr), 0,
23876
1, MVT::v8i16, 2, 0, 1,
23878
OPC_CheckType, MVT::v4i32,
23879
OPC_CheckPatternPredicate, 4,
23880
OPC_MorphNodeTo, TARGET_OPCODE(X86::PMULLDrr), 0,
23881
1, MVT::v4i32, 2, 0, 1,
23883
OPC_CheckType, MVT::v4i16,
23884
OPC_CheckPatternPredicate, 8,
23885
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PMULLWrr), 0,
23886
1, MVT::v4i16, 2, 0, 1,
23889
111|128,1, X86ISD::BT,
23892
OPC_CheckOpcode, ISD::LOAD,
23893
OPC_CheckPredicate, 4,
23895
OPC_CheckPredicate, 6,
23898
OPC_CheckFoldableChainNode,
23900
OPC_CheckType, MVT::i16,
23904
OPC_CheckOpcode, ISD::Constant,
23905
OPC_CheckPredicate, 11,
23907
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23908
OPC_EmitMergeInputChains, 1, 0,
23909
OPC_EmitConvertToTarget, 2,
23910
OPC_MorphNodeTo, TARGET_OPCODE(X86::BT16mi8), 0|OPFL_Chain|OPFL_MemRefs,
23911
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
23913
OPC_CheckPredicate, 5,
23916
OPC_CheckFoldableChainNode,
23918
OPC_CheckType, MVT::i32,
23922
OPC_CheckOpcode, ISD::Constant,
23923
OPC_CheckPredicate, 11,
23925
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23926
OPC_EmitMergeInputChains, 1, 0,
23927
OPC_EmitConvertToTarget, 2,
23928
OPC_MorphNodeTo, TARGET_OPCODE(X86::BT32mi8), 0|OPFL_Chain|OPFL_MemRefs,
23929
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
23931
OPC_CheckPredicate, 9,
23932
OPC_CheckPredicate, 10,
23935
OPC_CheckFoldableChainNode,
23937
OPC_CheckType, MVT::i64,
23941
OPC_CheckOpcode, ISD::Constant,
23942
OPC_CheckPredicate, 11,
23944
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
23945
OPC_EmitMergeInputChains, 1, 0,
23946
OPC_EmitConvertToTarget, 2,
23947
OPC_MorphNodeTo, TARGET_OPCODE(X86::BT64mi8), 0|OPFL_Chain|OPFL_MemRefs,
23948
1, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
23953
OPC_CheckChild0Type, MVT::i16,
23957
OPC_CheckOpcode, ISD::Constant,
23958
OPC_CheckPredicate, 11,
23960
OPC_EmitConvertToTarget, 1,
23961
OPC_MorphNodeTo, TARGET_OPCODE(X86::BT16ri8), 0,
23962
1, MVT::i32, 2, 0, 2,
23964
OPC_MorphNodeTo, TARGET_OPCODE(X86::BT16rr), 0,
23965
1, MVT::i32, 2, 0, 1,
23968
OPC_CheckChild0Type, MVT::i32,
23972
OPC_CheckOpcode, ISD::Constant,
23973
OPC_CheckPredicate, 11,
23975
OPC_EmitConvertToTarget, 1,
23976
OPC_MorphNodeTo, TARGET_OPCODE(X86::BT32ri8), 0,
23977
1, MVT::i32, 2, 0, 2,
23979
OPC_MorphNodeTo, TARGET_OPCODE(X86::BT32rr), 0,
23980
1, MVT::i32, 2, 0, 1,
23983
OPC_CheckChild0Type, MVT::i64,
23987
OPC_CheckOpcode, ISD::Constant,
23988
OPC_CheckPredicate, 11,
23990
OPC_EmitConvertToTarget, 1,
23991
OPC_MorphNodeTo, TARGET_OPCODE(X86::BT64ri8), 0,
23992
1, MVT::i32, 2, 0, 2,
23994
OPC_MorphNodeTo, TARGET_OPCODE(X86::BT64rr), 0,
23995
1, MVT::i32, 2, 0, 1,
23999
121|128,4, X86ISD::SMUL,
24000
OPC_Scope, 109|128,1,
24002
OPC_CheckOpcode, ISD::LOAD,
24003
OPC_CheckPredicate, 4,
24005
OPC_CheckPredicate, 6,
24008
OPC_CheckFoldableChainNode,
24013
OPC_CheckOpcode, ISD::Constant,
24014
OPC_CheckPredicate, 11,
24016
OPC_CheckType, MVT::i16,
24017
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24018
OPC_EmitMergeInputChains, 1, 0,
24019
OPC_EmitConvertToTarget, 2,
24020
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rmi8), 0|OPFL_Chain|OPFL_MemRefs,
24021
2, MVT::i16, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
24023
OPC_CheckPredicate, 5,
24026
OPC_CheckFoldableChainNode,
24031
OPC_CheckOpcode, ISD::Constant,
24032
OPC_CheckPredicate, 11,
24034
OPC_CheckType, MVT::i32,
24035
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24036
OPC_EmitMergeInputChains, 1, 0,
24037
OPC_EmitConvertToTarget, 2,
24038
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rmi8), 0|OPFL_Chain|OPFL_MemRefs,
24039
2, MVT::i32, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
24041
OPC_CheckPredicate, 9,
24042
OPC_CheckPredicate, 10,
24045
OPC_CheckFoldableChainNode,
24050
OPC_CheckOpcode, ISD::Constant,
24052
OPC_CheckPredicate, 11,
24054
OPC_CheckType, MVT::i64,
24055
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24056
OPC_EmitMergeInputChains, 1, 0,
24057
OPC_EmitConvertToTarget, 2,
24058
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rmi8), 0|OPFL_Chain|OPFL_MemRefs,
24059
2, MVT::i64, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
24061
OPC_CheckPredicate, 12,
24063
OPC_CheckType, MVT::i64,
24064
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24065
OPC_EmitMergeInputChains, 1, 0,
24066
OPC_EmitConvertToTarget, 2,
24067
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rmi32), 0|OPFL_Chain|OPFL_MemRefs,
24068
2, MVT::i64, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
24071
OPC_CheckPredicate, 6,
24074
OPC_CheckFoldableChainNode,
24079
OPC_CheckOpcode, ISD::Constant,
24081
OPC_CheckType, MVT::i16,
24082
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24083
OPC_EmitMergeInputChains, 1, 0,
24084
OPC_EmitConvertToTarget, 2,
24085
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rmi), 0|OPFL_Chain|OPFL_MemRefs,
24086
2, MVT::i16, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
24088
OPC_CheckPredicate, 5,
24091
OPC_CheckFoldableChainNode,
24096
OPC_CheckOpcode, ISD::Constant,
24098
OPC_CheckType, MVT::i32,
24099
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24100
OPC_EmitMergeInputChains, 1, 0,
24101
OPC_EmitConvertToTarget, 2,
24102
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rmi), 0|OPFL_Chain|OPFL_MemRefs,
24103
2, MVT::i32, MVT::i32, 6, 3, 4, 5, 6, 7, 8,
24108
OPC_CheckOpcode, ISD::LOAD,
24109
OPC_CheckPredicate, 4,
24111
OPC_CheckPredicate, 6,
24114
OPC_CheckFoldableChainNode,
24117
OPC_CheckType, MVT::i16,
24118
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
24119
OPC_EmitMergeInputChains, 1, 1,
24120
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rm), 0|OPFL_Chain|OPFL_MemRefs,
24121
2, MVT::i16, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
24123
OPC_CheckPredicate, 5,
24126
OPC_CheckFoldableChainNode,
24129
OPC_CheckType, MVT::i32,
24130
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
24131
OPC_EmitMergeInputChains, 1, 1,
24132
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rm), 0|OPFL_Chain|OPFL_MemRefs,
24133
2, MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
24135
OPC_CheckPredicate, 9,
24136
OPC_CheckPredicate, 10,
24139
OPC_CheckFoldableChainNode,
24142
OPC_CheckType, MVT::i64,
24143
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
24144
OPC_EmitMergeInputChains, 1, 1,
24145
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rm), 0|OPFL_Chain|OPFL_MemRefs,
24146
2, MVT::i64, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
24150
OPC_CheckOpcode, ISD::LOAD,
24151
OPC_CheckPredicate, 4,
24153
OPC_CheckPredicate, 6,
24156
OPC_CheckFoldableChainNode,
24160
OPC_CheckType, MVT::i16,
24161
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24162
OPC_EmitMergeInputChains, 1, 0,
24163
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rm), 0|OPFL_Chain|OPFL_MemRefs,
24164
2, MVT::i16, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
24166
OPC_CheckPredicate, 5,
24169
OPC_CheckFoldableChainNode,
24173
OPC_CheckType, MVT::i32,
24174
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24175
OPC_EmitMergeInputChains, 1, 0,
24176
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rm), 0|OPFL_Chain|OPFL_MemRefs,
24177
2, MVT::i32, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
24179
OPC_CheckPredicate, 9,
24180
OPC_CheckPredicate, 10,
24183
OPC_CheckFoldableChainNode,
24187
OPC_CheckType, MVT::i64,
24188
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24189
OPC_EmitMergeInputChains, 1, 0,
24190
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rm), 0|OPFL_Chain|OPFL_MemRefs,
24191
2, MVT::i64, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
24197
OPC_CheckInteger, 2,
24199
OPC_SwitchType , 10, MVT::i16,
24200
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16rr), 0,
24201
2, MVT::i16, MVT::i32, 2, 0, 0,
24203
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32rr), 0,
24204
2, MVT::i32, MVT::i32, 2, 0, 0,
24210
OPC_CheckOpcode, ISD::Constant,
24212
OPC_CheckPredicate, 11,
24214
OPC_SwitchType , 12, MVT::i16,
24215
OPC_EmitConvertToTarget, 1,
24216
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rri8), 0,
24217
2, MVT::i16, MVT::i32, 2, 0, 2,
24219
OPC_EmitConvertToTarget, 1,
24220
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rri8), 0,
24221
2, MVT::i32, MVT::i32, 2, 0, 2,
24223
OPC_EmitConvertToTarget, 1,
24224
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rri8), 0,
24225
2, MVT::i64, MVT::i32, 2, 0, 2,
24228
OPC_CheckPredicate, 12,
24230
OPC_CheckType, MVT::i64,
24231
OPC_EmitConvertToTarget, 1,
24232
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rri32), 0,
24233
2, MVT::i64, MVT::i32, 2, 0, 2,
24236
OPC_SwitchType , 12, MVT::i16,
24237
OPC_EmitConvertToTarget, 1,
24238
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rri), 0,
24239
2, MVT::i16, MVT::i32, 2, 0, 2,
24241
OPC_EmitConvertToTarget, 1,
24242
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rri), 0,
24243
2, MVT::i32, MVT::i32, 2, 0, 2,
24247
OPC_CheckType, MVT::i16,
24248
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL16rr), 0,
24249
2, MVT::i16, MVT::i32, 2, 0, 1,
24251
OPC_CheckType, MVT::i32,
24252
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL32rr), 0,
24253
2, MVT::i32, MVT::i32, 2, 0, 1,
24255
OPC_CheckType, MVT::i64,
24256
OPC_MorphNodeTo, TARGET_OPCODE(X86::IMUL64rr), 0,
24257
2, MVT::i64, MVT::i32, 2, 0, 1,
24261
105, ISD::PREFETCH,
24265
OPC_CheckOpcode, ISD::Constant,
24266
OPC_CheckType, MVT::i32,
24270
OPC_CheckInteger, 3,
24272
OPC_CheckPatternPredicate, 0,
24273
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24274
OPC_EmitMergeInputChains, 1, 0,
24275
OPC_MorphNodeTo, TARGET_OPCODE(X86::PREFETCHT0), 0|OPFL_Chain,
24276
0, 5, 2, 3, 4, 5, 6,
24278
OPC_CheckInteger, 2,
24280
OPC_CheckPatternPredicate, 0,
24281
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24282
OPC_EmitMergeInputChains, 1, 0,
24283
OPC_MorphNodeTo, TARGET_OPCODE(X86::PREFETCHT1), 0|OPFL_Chain,
24284
0, 5, 2, 3, 4, 5, 6,
24286
OPC_CheckInteger, 1,
24288
OPC_CheckPatternPredicate, 0,
24289
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24290
OPC_EmitMergeInputChains, 1, 0,
24291
OPC_MorphNodeTo, TARGET_OPCODE(X86::PREFETCHT2), 0|OPFL_Chain,
24292
0, 5, 2, 3, 4, 5, 6,
24294
OPC_CheckInteger, 0,
24296
OPC_CheckPatternPredicate, 0,
24297
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24298
OPC_EmitMergeInputChains, 1, 0,
24299
OPC_MorphNodeTo, TARGET_OPCODE(X86::PREFETCHNTA), 0|OPFL_Chain,
24300
0, 5, 2, 3, 4, 5, 6,
24302
8|128,1, ISD::INSERT_VECTOR_ELT,
24306
OPC_CheckOpcode, ISD::LOAD,
24307
OPC_CheckPredicate, 4,
24309
OPC_CheckPredicate, 9,
24310
OPC_CheckPredicate, 10,
24313
OPC_CheckFoldableChainNode,
24318
OPC_CheckOpcode, ISD::Constant,
24320
OPC_CheckType, MVT::v2i64,
24321
OPC_CheckPatternPredicate, 4,
24322
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
24323
OPC_EmitMergeInputChains, 1, 1,
24324
OPC_EmitConvertToTarget, 3,
24325
OPC_MorphNodeTo, TARGET_OPCODE(X86::PINSRQrm), 0|OPFL_Chain|OPFL_MemRefs,
24326
1, MVT::v2i64, 7, 0, 4, 5, 6, 7, 8, 9,
24328
OPC_CheckPredicate, 5,
24331
OPC_CheckFoldableChainNode,
24336
OPC_CheckOpcode, ISD::Constant,
24338
OPC_CheckType, MVT::v4i32,
24339
OPC_CheckPatternPredicate, 4,
24340
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
24341
OPC_EmitMergeInputChains, 1, 1,
24342
OPC_EmitConvertToTarget, 3,
24343
OPC_MorphNodeTo, TARGET_OPCODE(X86::PINSRDrm), 0|OPFL_Chain|OPFL_MemRefs,
24344
1, MVT::v4i32, 7, 0, 4, 5, 6, 7, 8, 9,
24350
OPC_CheckOpcode, ISD::Constant,
24352
OPC_SwitchType , 14, MVT::v2i64,
24353
OPC_CheckPatternPredicate, 4,
24354
OPC_EmitConvertToTarget, 2,
24355
OPC_MorphNodeTo, TARGET_OPCODE(X86::PINSRQrr), 0,
24356
1, MVT::v2i64, 3, 0, 1, 3,
24358
OPC_CheckPatternPredicate, 4,
24359
OPC_EmitConvertToTarget, 2,
24360
OPC_MorphNodeTo, TARGET_OPCODE(X86::PINSRDrr), 0,
24361
1, MVT::v4i32, 3, 0, 1, 3,
24364
70|128,17, ISD::OR,
24365
OPC_Scope, 39|128,1,
24367
OPC_SwitchOpcode , 87, ISD::BIT_CONVERT,
24370
OPC_CheckChild0Type, MVT::v4f32,
24373
OPC_CheckOpcode, ISD::LOAD,
24374
OPC_CheckPredicate, 4,
24375
OPC_CheckPredicate, 9,
24376
OPC_CheckPredicate, 24,
24379
OPC_CheckFoldableChainNode,
24382
OPC_CheckType, MVT::v2i64,
24383
OPC_CheckPatternPredicate, 0,
24384
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
24385
OPC_EmitMergeInputChains, 1, 1,
24386
OPC_MorphNodeTo, TARGET_OPCODE(X86::ORPSrm), 0|OPFL_Chain|OPFL_MemRefs,
24387
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
24389
OPC_CheckChild0Type, MVT::v2f64,
24392
OPC_CheckOpcode, ISD::LOAD,
24393
OPC_CheckPredicate, 4,
24394
OPC_CheckPredicate, 9,
24395
OPC_CheckPredicate, 24,
24398
OPC_CheckFoldableChainNode,
24401
OPC_CheckType, MVT::v2i64,
24402
OPC_CheckPatternPredicate, 1,
24403
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
24404
OPC_EmitMergeInputChains, 1, 1,
24405
OPC_MorphNodeTo, TARGET_OPCODE(X86::ORPDrm), 0|OPFL_Chain|OPFL_MemRefs,
24406
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
24409
OPC_CheckPredicate, 4,
24410
OPC_CheckPredicate, 9,
24411
OPC_CheckPredicate, 24,
24414
OPC_CheckFoldableChainNode,
24418
OPC_CheckOpcode, ISD::BIT_CONVERT,
24421
OPC_CheckChild0Type, MVT::v4f32,
24423
OPC_CheckType, MVT::v2i64,
24424
OPC_CheckPatternPredicate, 0,
24425
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24426
OPC_EmitMergeInputChains, 1, 0,
24427
OPC_MorphNodeTo, TARGET_OPCODE(X86::ORPSrm), 0|OPFL_Chain|OPFL_MemRefs,
24428
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
24430
OPC_CheckChild0Type, MVT::v2f64,
24432
OPC_CheckType, MVT::v2i64,
24433
OPC_CheckPatternPredicate, 1,
24434
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24435
OPC_EmitMergeInputChains, 1, 0,
24436
OPC_MorphNodeTo, TARGET_OPCODE(X86::ORPDrm), 0|OPFL_Chain|OPFL_MemRefs,
24437
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
24443
OPC_CheckOpcode, ISD::LOAD,
24444
OPC_CheckPredicate, 4,
24445
OPC_CheckPredicate, 9,
24449
OPC_CheckFoldableChainNode,
24452
OPC_SwitchType , 20, MVT::i8,
24453
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
24454
OPC_EmitMergeInputChains, 1, 1,
24455
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8rm), 0|OPFL_Chain|OPFL_MemRefs,
24456
2, MVT::i8, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
24458
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
24459
OPC_EmitMergeInputChains, 1, 1,
24460
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16rm), 0|OPFL_Chain|OPFL_MemRefs,
24461
2, MVT::i16, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
24463
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
24464
OPC_EmitMergeInputChains, 1, 1,
24465
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32rm), 0|OPFL_Chain|OPFL_MemRefs,
24466
2, MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
24468
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
24469
OPC_EmitMergeInputChains, 1, 1,
24470
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64rm), 0|OPFL_Chain|OPFL_MemRefs,
24471
2, MVT::i64, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
24474
OPC_CheckPredicate, 24,
24477
OPC_CheckFoldableChainNode,
24480
OPC_CheckType, MVT::v2i64,
24481
OPC_CheckPatternPredicate, 1,
24482
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
24483
OPC_EmitMergeInputChains, 1, 1,
24484
OPC_MorphNodeTo, TARGET_OPCODE(X86::PORrm), 0|OPFL_Chain|OPFL_MemRefs,
24485
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
24489
OPC_CheckFoldableChainNode,
24492
OPC_CheckType, MVT::v1i64,
24493
OPC_CheckPatternPredicate, 8,
24494
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
24495
OPC_EmitMergeInputChains, 1, 1,
24496
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PORrm), 0|OPFL_Chain|OPFL_MemRefs,
24497
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
24501
OPC_SwitchOpcode , 37|128,1, ISD::LOAD,
24502
OPC_CheckPredicate, 4,
24503
OPC_CheckPredicate, 9,
24507
OPC_CheckFoldableChainNode,
24511
OPC_SwitchType , 20, MVT::i8,
24512
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24513
OPC_EmitMergeInputChains, 1, 0,
24514
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8rm), 0|OPFL_Chain|OPFL_MemRefs,
24515
2, MVT::i8, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
24517
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24518
OPC_EmitMergeInputChains, 1, 0,
24519
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16rm), 0|OPFL_Chain|OPFL_MemRefs,
24520
2, MVT::i16, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
24522
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24523
OPC_EmitMergeInputChains, 1, 0,
24524
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32rm), 0|OPFL_Chain|OPFL_MemRefs,
24525
2, MVT::i32, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
24527
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24528
OPC_EmitMergeInputChains, 1, 0,
24529
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64rm), 0|OPFL_Chain|OPFL_MemRefs,
24530
2, MVT::i64, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
24533
OPC_CheckPredicate, 24,
24536
OPC_CheckFoldableChainNode,
24540
OPC_CheckType, MVT::v2i64,
24541
OPC_CheckPatternPredicate, 1,
24542
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24543
OPC_EmitMergeInputChains, 1, 0,
24544
OPC_MorphNodeTo, TARGET_OPCODE(X86::PORrm), 0|OPFL_Chain|OPFL_MemRefs,
24545
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
24549
OPC_CheckFoldableChainNode,
24553
OPC_CheckType, MVT::v1i64,
24554
OPC_CheckPatternPredicate, 8,
24555
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
24556
OPC_EmitMergeInputChains, 1, 0,
24557
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PORrm), 0|OPFL_Chain|OPFL_MemRefs,
24558
1, MVT::v1i64, 6, 2, 3, 4, 5, 6, 7,
24560
113|128,2, ISD::SRL,
24562
OPC_Scope, 84|128,1,
24564
OPC_CheckOpcode, ISD::TRUNCATE,
24569
OPC_CheckChild0Type, MVT::i32,
24570
OPC_CheckType, MVT::i8,
24574
OPC_CheckOpcode, ISD::SHL,
24577
OPC_CheckOpcode, ISD::TRUNCATE,
24579
OPC_CheckOpcode, ISD::SUB,
24581
OPC_CheckInteger, 32,
24586
OPC_CheckType, MVT::i32,
24588
OPC_CheckType, MVT::i8,
24591
OPC_CheckType, MVT::i32,
24592
OPC_EmitCopyToReg, 2, X86::ECX,
24593
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32rrCL), 0|OPFL_FlagInput,
24594
1, MVT::i32, 2, 0, 3,
24596
OPC_CheckChild0Type, MVT::i16,
24597
OPC_CheckType, MVT::i8,
24601
OPC_CheckOpcode, ISD::SHL,
24604
OPC_CheckOpcode, ISD::TRUNCATE,
24606
OPC_CheckOpcode, ISD::SUB,
24608
OPC_CheckInteger, 16,
24613
OPC_CheckType, MVT::i16,
24615
OPC_CheckType, MVT::i8,
24618
OPC_CheckType, MVT::i16,
24619
OPC_EmitCopyToReg, 2, X86::CX,
24620
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16rrCL), 0|OPFL_FlagInput,
24621
1, MVT::i16, 2, 0, 3,
24625
OPC_CheckOpcode, ISD::SUB,
24628
OPC_CheckInteger, 32,
24632
OPC_CheckType, MVT::i32,
24634
OPC_CheckType, MVT::i8,
24638
OPC_CheckOpcode, ISD::SHL,
24641
OPC_CheckOpcode, ISD::TRUNCATE,
24645
OPC_CheckType, MVT::i8,
24648
OPC_CheckType, MVT::i32,
24649
OPC_EmitCopyToReg, 2, X86::ECX,
24650
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32rrCL), 0|OPFL_FlagInput,
24651
1, MVT::i32, 2, 3, 0,
24653
OPC_CheckInteger, 16,
24657
OPC_CheckType, MVT::i16,
24659
OPC_CheckType, MVT::i8,
24663
OPC_CheckOpcode, ISD::SHL,
24666
OPC_CheckOpcode, ISD::TRUNCATE,
24670
OPC_CheckType, MVT::i8,
24673
OPC_CheckType, MVT::i16,
24674
OPC_EmitCopyToReg, 2, X86::CX,
24675
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16rrCL), 0|OPFL_FlagInput,
24676
1, MVT::i16, 2, 3, 0,
24682
OPC_CheckChild1Type, MVT::i8,
24685
OPC_CheckOpcode, ISD::SHL,
24688
OPC_CheckOpcode, ISD::SUB,
24691
OPC_CheckInteger, 32,
24696
OPC_CheckType, MVT::i8,
24699
OPC_CheckType, MVT::i32,
24700
OPC_EmitCopyToReg, 2, X86::CL,
24701
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32rrCL), 0|OPFL_FlagInput,
24702
1, MVT::i32, 2, 0, 3,
24704
OPC_CheckInteger, 16,
24709
OPC_CheckType, MVT::i8,
24712
OPC_CheckType, MVT::i16,
24713
OPC_EmitCopyToReg, 2, X86::CL,
24714
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16rrCL), 0|OPFL_FlagInput,
24715
1, MVT::i16, 2, 0, 3,
24719
OPC_CheckOpcode, ISD::SUB,
24722
OPC_CheckInteger, 32,
24726
OPC_CheckType, MVT::i8,
24730
OPC_CheckOpcode, ISD::SHL,
24736
OPC_CheckType, MVT::i32,
24737
OPC_EmitCopyToReg, 2, X86::CL,
24738
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32rrCL), 0|OPFL_FlagInput,
24739
1, MVT::i32, 2, 3, 0,
24741
OPC_CheckInteger, 16,
24745
OPC_CheckType, MVT::i8,
24749
OPC_CheckOpcode, ISD::SHL,
24755
OPC_CheckType, MVT::i16,
24756
OPC_EmitCopyToReg, 2, X86::CL,
24757
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16rrCL), 0|OPFL_FlagInput,
24758
1, MVT::i16, 2, 3, 0,
24761
113|128,2, ISD::SHL,
24763
OPC_Scope, 84|128,1,
24765
OPC_CheckOpcode, ISD::TRUNCATE,
24770
OPC_CheckChild0Type, MVT::i32,
24771
OPC_CheckType, MVT::i8,
24775
OPC_CheckOpcode, ISD::SRL,
24778
OPC_CheckOpcode, ISD::TRUNCATE,
24780
OPC_CheckOpcode, ISD::SUB,
24782
OPC_CheckInteger, 32,
24787
OPC_CheckType, MVT::i32,
24789
OPC_CheckType, MVT::i8,
24792
OPC_CheckType, MVT::i32,
24793
OPC_EmitCopyToReg, 2, X86::ECX,
24794
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32rrCL), 0|OPFL_FlagInput,
24795
1, MVT::i32, 2, 0, 3,
24797
OPC_CheckChild0Type, MVT::i16,
24798
OPC_CheckType, MVT::i8,
24802
OPC_CheckOpcode, ISD::SRL,
24805
OPC_CheckOpcode, ISD::TRUNCATE,
24807
OPC_CheckOpcode, ISD::SUB,
24809
OPC_CheckInteger, 16,
24814
OPC_CheckType, MVT::i16,
24816
OPC_CheckType, MVT::i8,
24819
OPC_CheckType, MVT::i16,
24820
OPC_EmitCopyToReg, 2, X86::CX,
24821
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16rrCL), 0|OPFL_FlagInput,
24822
1, MVT::i16, 2, 0, 3,
24826
OPC_CheckOpcode, ISD::SUB,
24829
OPC_CheckInteger, 32,
24833
OPC_CheckType, MVT::i32,
24835
OPC_CheckType, MVT::i8,
24839
OPC_CheckOpcode, ISD::SRL,
24842
OPC_CheckOpcode, ISD::TRUNCATE,
24846
OPC_CheckType, MVT::i8,
24849
OPC_CheckType, MVT::i32,
24850
OPC_EmitCopyToReg, 2, X86::ECX,
24851
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32rrCL), 0|OPFL_FlagInput,
24852
1, MVT::i32, 2, 3, 0,
24854
OPC_CheckInteger, 16,
24858
OPC_CheckType, MVT::i16,
24860
OPC_CheckType, MVT::i8,
24864
OPC_CheckOpcode, ISD::SRL,
24867
OPC_CheckOpcode, ISD::TRUNCATE,
24871
OPC_CheckType, MVT::i8,
24874
OPC_CheckType, MVT::i16,
24875
OPC_EmitCopyToReg, 2, X86::CX,
24876
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16rrCL), 0|OPFL_FlagInput,
24877
1, MVT::i16, 2, 3, 0,
24883
OPC_CheckChild1Type, MVT::i8,
24886
OPC_CheckOpcode, ISD::SRL,
24889
OPC_CheckOpcode, ISD::SUB,
24892
OPC_CheckInteger, 32,
24897
OPC_CheckType, MVT::i8,
24900
OPC_CheckType, MVT::i32,
24901
OPC_EmitCopyToReg, 2, X86::CL,
24902
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32rrCL), 0|OPFL_FlagInput,
24903
1, MVT::i32, 2, 0, 3,
24905
OPC_CheckInteger, 16,
24910
OPC_CheckType, MVT::i8,
24913
OPC_CheckType, MVT::i16,
24914
OPC_EmitCopyToReg, 2, X86::CL,
24915
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16rrCL), 0|OPFL_FlagInput,
24916
1, MVT::i16, 2, 0, 3,
24920
OPC_CheckOpcode, ISD::SUB,
24923
OPC_CheckInteger, 32,
24927
OPC_CheckType, MVT::i8,
24931
OPC_CheckOpcode, ISD::SRL,
24937
OPC_CheckType, MVT::i32,
24938
OPC_EmitCopyToReg, 2, X86::CL,
24939
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32rrCL), 0|OPFL_FlagInput,
24940
1, MVT::i32, 2, 3, 0,
24942
OPC_CheckInteger, 16,
24946
OPC_CheckType, MVT::i8,
24950
OPC_CheckOpcode, ISD::SRL,
24956
OPC_CheckType, MVT::i16,
24957
OPC_EmitCopyToReg, 2, X86::CL,
24958
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16rrCL), 0|OPFL_FlagInput,
24959
1, MVT::i16, 2, 3, 0,
24964
OPC_CheckPredicate, 7,
24966
OPC_CheckOpcode, ISD::SRL,
24970
OPC_CheckOpcode, ISD::Constant,
24971
OPC_CheckType, MVT::i8,
24975
OPC_CheckOpcode, ISD::SHL,
24978
OPC_CheckOpcode, ISD::Constant,
24979
OPC_CheckType, MVT::i8,
24982
OPC_CheckType, MVT::i32,
24983
OPC_EmitConvertToTarget, 1,
24984
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32rri8), 0,
24985
1, MVT::i32, 3, 0, 2, 3,
24987
OPC_CheckPredicate, 8,
24989
OPC_CheckOpcode, ISD::SHL,
24993
OPC_CheckOpcode, ISD::Constant,
24994
OPC_CheckType, MVT::i8,
24998
OPC_CheckOpcode, ISD::SRL,
25001
OPC_CheckOpcode, ISD::Constant,
25002
OPC_CheckType, MVT::i8,
25005
OPC_CheckType, MVT::i32,
25006
OPC_EmitConvertToTarget, 1,
25007
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32rri8), 0,
25008
1, MVT::i32, 3, 0, 2, 3,
25010
OPC_CheckPredicate, 7,
25012
OPC_CheckOpcode, ISD::SRL,
25016
OPC_CheckOpcode, ISD::Constant,
25017
OPC_CheckType, MVT::i8,
25021
OPC_CheckOpcode, ISD::SHL,
25024
OPC_CheckOpcode, ISD::Constant,
25025
OPC_CheckType, MVT::i8,
25028
OPC_CheckType, MVT::i16,
25029
OPC_EmitConvertToTarget, 1,
25030
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16rri8), 0,
25031
1, MVT::i16, 3, 0, 2, 3,
25033
OPC_CheckPredicate, 8,
25035
OPC_CheckOpcode, ISD::SHL,
25039
OPC_CheckOpcode, ISD::Constant,
25040
OPC_CheckType, MVT::i8,
25044
OPC_CheckOpcode, ISD::SRL,
25047
OPC_CheckOpcode, ISD::Constant,
25048
OPC_CheckType, MVT::i8,
25051
OPC_CheckType, MVT::i16,
25052
OPC_EmitConvertToTarget, 1,
25053
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16rri8), 0,
25054
1, MVT::i16, 3, 0, 2, 3,
25056
OPC_CheckPredicate, 7,
25058
OPC_CheckOpcode, ISD::SRL,
25062
OPC_CheckOpcode, ISD::Constant,
25063
OPC_CheckType, MVT::i8,
25067
OPC_CheckOpcode, ISD::SHL,
25070
OPC_CheckOpcode, ISD::Constant,
25071
OPC_CheckType, MVT::i8,
25074
OPC_CheckType, MVT::i64,
25075
OPC_EmitConvertToTarget, 1,
25076
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD64rri8), 0,
25077
1, MVT::i64, 3, 0, 2, 3,
25079
OPC_CheckPredicate, 8,
25081
OPC_CheckOpcode, ISD::SHL,
25085
OPC_CheckOpcode, ISD::Constant,
25086
OPC_CheckType, MVT::i8,
25090
OPC_CheckOpcode, ISD::SRL,
25093
OPC_CheckOpcode, ISD::Constant,
25094
OPC_CheckType, MVT::i8,
25097
OPC_CheckType, MVT::i64,
25098
OPC_EmitConvertToTarget, 1,
25099
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD64rri8), 0,
25100
1, MVT::i64, 3, 0, 2, 3,
25102
OPC_CheckPredicate, 7,
25104
OPC_CheckOpcode, ISD::SHL,
25107
OPC_CheckOpcode, ISD::Constant,
25108
OPC_CheckType, MVT::i8,
25112
OPC_CheckOpcode, ISD::SRL,
25116
OPC_CheckOpcode, ISD::Constant,
25117
OPC_CheckType, MVT::i8,
25120
OPC_CheckType, MVT::i32,
25121
OPC_EmitConvertToTarget, 2,
25122
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32rri8), 0,
25123
1, MVT::i32, 3, 1, 0, 3,
25125
OPC_CheckPredicate, 8,
25127
OPC_CheckOpcode, ISD::SRL,
25130
OPC_CheckOpcode, ISD::Constant,
25131
OPC_CheckType, MVT::i8,
25135
OPC_CheckOpcode, ISD::SHL,
25139
OPC_CheckOpcode, ISD::Constant,
25140
OPC_CheckType, MVT::i8,
25143
OPC_CheckType, MVT::i32,
25144
OPC_EmitConvertToTarget, 2,
25145
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32rri8), 0,
25146
1, MVT::i32, 3, 1, 0, 3,
25148
OPC_CheckPredicate, 7,
25150
OPC_CheckOpcode, ISD::SHL,
25153
OPC_CheckOpcode, ISD::Constant,
25154
OPC_CheckType, MVT::i8,
25158
OPC_CheckOpcode, ISD::SRL,
25162
OPC_CheckOpcode, ISD::Constant,
25163
OPC_CheckType, MVT::i8,
25166
OPC_CheckType, MVT::i16,
25167
OPC_EmitConvertToTarget, 2,
25168
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16rri8), 0,
25169
1, MVT::i16, 3, 1, 0, 3,
25171
OPC_CheckPredicate, 8,
25173
OPC_CheckOpcode, ISD::SRL,
25176
OPC_CheckOpcode, ISD::Constant,
25177
OPC_CheckType, MVT::i8,
25181
OPC_CheckOpcode, ISD::SHL,
25185
OPC_CheckOpcode, ISD::Constant,
25186
OPC_CheckType, MVT::i8,
25189
OPC_CheckType, MVT::i16,
25190
OPC_EmitConvertToTarget, 2,
25191
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16rri8), 0,
25192
1, MVT::i16, 3, 1, 0, 3,
25194
OPC_CheckPredicate, 7,
25196
OPC_CheckOpcode, ISD::SHL,
25199
OPC_CheckOpcode, ISD::Constant,
25200
OPC_CheckType, MVT::i8,
25204
OPC_CheckOpcode, ISD::SRL,
25208
OPC_CheckOpcode, ISD::Constant,
25209
OPC_CheckType, MVT::i8,
25212
OPC_CheckType, MVT::i64,
25213
OPC_EmitConvertToTarget, 2,
25214
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD64rri8), 0,
25215
1, MVT::i64, 3, 1, 0, 3,
25217
OPC_CheckPredicate, 8,
25219
OPC_CheckOpcode, ISD::SRL,
25222
OPC_CheckOpcode, ISD::Constant,
25223
OPC_CheckType, MVT::i8,
25227
OPC_CheckOpcode, ISD::SHL,
25231
OPC_CheckOpcode, ISD::Constant,
25232
OPC_CheckType, MVT::i8,
25235
OPC_CheckType, MVT::i64,
25236
OPC_EmitConvertToTarget, 2,
25237
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD64rri8), 0,
25238
1, MVT::i64, 3, 1, 0, 3,
25241
OPC_SwitchType , 36, MVT::i32,
25243
OPC_CheckPatternPredicate, 2,
25244
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
25245
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA32r), 0,
25246
1, MVT::i32, 4, 1, 2, 3, 4,
25248
OPC_CheckPatternPredicate, 3,
25249
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
25250
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64_32r), 0,
25251
1, MVT::i32, 4, 1, 2, 3, 4,
25254
OPC_CheckComplexPat, /*CP*/4, /*#*/0,
25255
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64r), 0,
25256
1, MVT::i64, 4, 1, 2, 3, 4,
25259
OPC_CheckPredicate, 71,
25264
OPC_CheckOpcode, ISD::Constant,
25266
OPC_CheckPredicate, 11,
25268
OPC_SwitchType , 12, MVT::i16,
25269
OPC_EmitConvertToTarget, 1,
25270
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16ri8), 0,
25271
2, MVT::i16, MVT::i32, 2, 0, 2,
25273
OPC_EmitConvertToTarget, 1,
25274
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri8), 0,
25275
2, MVT::i32, MVT::i32, 2, 0, 2,
25277
OPC_EmitConvertToTarget, 1,
25278
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64ri8), 0,
25279
2, MVT::i64, MVT::i32, 2, 0, 2,
25282
OPC_CheckPredicate, 12,
25284
OPC_CheckType, MVT::i64,
25285
OPC_EmitConvertToTarget, 1,
25286
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64ri32), 0,
25287
2, MVT::i64, MVT::i32, 2, 0, 2,
25290
OPC_SwitchType , 12, MVT::i16,
25291
OPC_EmitConvertToTarget, 1,
25292
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16ri), 0,
25293
2, MVT::i16, MVT::i32, 2, 0, 2,
25295
OPC_EmitConvertToTarget, 1,
25296
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0,
25297
2, MVT::i32, MVT::i32, 2, 0, 2,
25301
OPC_CheckType, MVT::i16,
25302
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16rr), 0,
25303
2, MVT::i16, MVT::i32, 2, 0, 1,
25305
OPC_CheckType, MVT::i32,
25306
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32rr), 0,
25307
2, MVT::i32, MVT::i32, 2, 0, 1,
25309
OPC_CheckType, MVT::i64,
25310
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64rr), 0,
25311
2, MVT::i64, MVT::i32, 2, 0, 1,
25315
OPC_CheckOpcode, ISD::BIT_CONVERT,
25317
OPC_CheckChild0Type, MVT::v2f64,
25320
OPC_CheckOpcode, ISD::BIT_CONVERT,
25322
OPC_CheckChild0Type, MVT::v2f64,
25324
OPC_CheckType, MVT::v2i64,
25325
OPC_CheckPatternPredicate, 1,
25326
OPC_MorphNodeTo, TARGET_OPCODE(X86::ORPDrr), 0,
25327
1, MVT::v2i64, 2, 0, 1,
25333
OPC_CheckOpcode, ISD::Constant,
25335
OPC_CheckPredicate, 11,
25337
OPC_SwitchType , 12, MVT::i16,
25338
OPC_EmitConvertToTarget, 1,
25339
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16ri8), 0,
25340
2, MVT::i16, MVT::i32, 2, 0, 2,
25342
OPC_EmitConvertToTarget, 1,
25343
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32ri8), 0,
25344
2, MVT::i32, MVT::i32, 2, 0, 2,
25346
OPC_EmitConvertToTarget, 1,
25347
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64ri8), 0,
25348
2, MVT::i64, MVT::i32, 2, 0, 2,
25351
OPC_CheckPredicate, 12,
25353
OPC_CheckType, MVT::i64,
25354
OPC_EmitConvertToTarget, 1,
25355
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64ri32), 0,
25356
2, MVT::i64, MVT::i32, 2, 0, 2,
25359
OPC_SwitchType , 12, MVT::i8,
25360
OPC_EmitConvertToTarget, 1,
25361
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8ri), 0,
25362
2, MVT::i8, MVT::i32, 2, 0, 2,
25364
OPC_EmitConvertToTarget, 1,
25365
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16ri), 0,
25366
2, MVT::i16, MVT::i32, 2, 0, 2,
25368
OPC_EmitConvertToTarget, 1,
25369
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32ri), 0,
25370
2, MVT::i32, MVT::i32, 2, 0, 2,
25374
OPC_CheckType, MVT::i8,
25375
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8rr), 0,
25376
2, MVT::i8, MVT::i32, 2, 0, 1,
25378
OPC_CheckType, MVT::i16,
25379
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16rr), 0,
25380
2, MVT::i16, MVT::i32, 2, 0, 1,
25382
OPC_CheckType, MVT::i32,
25383
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32rr), 0,
25384
2, MVT::i32, MVT::i32, 2, 0, 1,
25386
OPC_CheckType, MVT::i64,
25387
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64rr), 0,
25388
2, MVT::i64, MVT::i32, 2, 0, 1,
25390
OPC_CheckType, MVT::v2i64,
25392
OPC_CheckPatternPredicate, 0,
25393
OPC_MorphNodeTo, TARGET_OPCODE(X86::ORPSrr), 0,
25394
1, MVT::v2i64, 2, 0, 1,
25396
OPC_CheckPatternPredicate, 1,
25397
OPC_MorphNodeTo, TARGET_OPCODE(X86::PORrr), 0,
25398
1, MVT::v2i64, 2, 0, 1,
25401
OPC_CheckType, MVT::v1i64,
25402
OPC_CheckPatternPredicate, 8,
25403
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PORrr), 0,
25404
1, MVT::v1i64, 2, 0, 1,
25407
51|128,6, ISD::XOR,
25408
OPC_Scope, 39|128,1,
25410
OPC_SwitchOpcode , 87, ISD::BIT_CONVERT,
25413
OPC_CheckChild0Type, MVT::v4f32,
25416
OPC_CheckOpcode, ISD::LOAD,
25417
OPC_CheckPredicate, 4,
25418
OPC_CheckPredicate, 9,
25419
OPC_CheckPredicate, 24,
25422
OPC_CheckFoldableChainNode,
25425
OPC_CheckType, MVT::v2i64,
25426
OPC_CheckPatternPredicate, 0,
25427
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25428
OPC_EmitMergeInputChains, 1, 1,
25429
OPC_MorphNodeTo, TARGET_OPCODE(X86::XORPSrm), 0|OPFL_Chain|OPFL_MemRefs,
25430
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
25432
OPC_CheckChild0Type, MVT::v2f64,
25435
OPC_CheckOpcode, ISD::LOAD,
25436
OPC_CheckPredicate, 4,
25437
OPC_CheckPredicate, 9,
25438
OPC_CheckPredicate, 24,
25441
OPC_CheckFoldableChainNode,
25444
OPC_CheckType, MVT::v2i64,
25445
OPC_CheckPatternPredicate, 1,
25446
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25447
OPC_EmitMergeInputChains, 1, 1,
25448
OPC_MorphNodeTo, TARGET_OPCODE(X86::XORPDrm), 0|OPFL_Chain|OPFL_MemRefs,
25449
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
25452
OPC_CheckPredicate, 4,
25453
OPC_CheckPredicate, 9,
25454
OPC_CheckPredicate, 24,
25457
OPC_CheckFoldableChainNode,
25461
OPC_CheckOpcode, ISD::BIT_CONVERT,
25464
OPC_CheckChild0Type, MVT::v4f32,
25466
OPC_CheckType, MVT::v2i64,
25467
OPC_CheckPatternPredicate, 0,
25468
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25469
OPC_EmitMergeInputChains, 1, 0,
25470
OPC_MorphNodeTo, TARGET_OPCODE(X86::XORPSrm), 0|OPFL_Chain|OPFL_MemRefs,
25471
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
25473
OPC_CheckChild0Type, MVT::v2f64,
25475
OPC_CheckType, MVT::v2i64,
25476
OPC_CheckPatternPredicate, 1,
25477
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25478
OPC_EmitMergeInputChains, 1, 0,
25479
OPC_MorphNodeTo, TARGET_OPCODE(X86::XORPDrm), 0|OPFL_Chain|OPFL_MemRefs,
25480
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
25486
OPC_CheckOpcode, ISD::LOAD,
25487
OPC_CheckPredicate, 4,
25488
OPC_CheckPredicate, 9,
25492
OPC_CheckFoldableChainNode,
25495
OPC_SwitchType , 20, MVT::i8,
25496
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25497
OPC_EmitMergeInputChains, 1, 1,
25498
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8rm), 0|OPFL_Chain|OPFL_MemRefs,
25499
2, MVT::i8, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
25501
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25502
OPC_EmitMergeInputChains, 1, 1,
25503
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16rm), 0|OPFL_Chain|OPFL_MemRefs,
25504
2, MVT::i16, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
25506
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25507
OPC_EmitMergeInputChains, 1, 1,
25508
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32rm), 0|OPFL_Chain|OPFL_MemRefs,
25509
2, MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
25511
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25512
OPC_EmitMergeInputChains, 1, 1,
25513
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64rm), 0|OPFL_Chain|OPFL_MemRefs,
25514
2, MVT::i64, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
25517
OPC_CheckPredicate, 24,
25520
OPC_CheckFoldableChainNode,
25523
OPC_CheckType, MVT::v2i64,
25524
OPC_CheckPatternPredicate, 1,
25525
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25526
OPC_EmitMergeInputChains, 1, 1,
25527
OPC_MorphNodeTo, TARGET_OPCODE(X86::PXORrm), 0|OPFL_Chain|OPFL_MemRefs,
25528
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
25532
OPC_CheckFoldableChainNode,
25535
OPC_CheckType, MVT::v1i64,
25536
OPC_CheckPatternPredicate, 8,
25537
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25538
OPC_EmitMergeInputChains, 1, 1,
25539
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PXORrm), 0|OPFL_Chain|OPFL_MemRefs,
25540
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
25544
OPC_CheckOpcode, ISD::LOAD,
25545
OPC_CheckPredicate, 4,
25546
OPC_CheckPredicate, 9,
25550
OPC_CheckFoldableChainNode,
25554
OPC_SwitchType , 20, MVT::i8,
25555
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25556
OPC_EmitMergeInputChains, 1, 0,
25557
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8rm), 0|OPFL_Chain|OPFL_MemRefs,
25558
2, MVT::i8, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
25560
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25561
OPC_EmitMergeInputChains, 1, 0,
25562
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16rm), 0|OPFL_Chain|OPFL_MemRefs,
25563
2, MVT::i16, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
25565
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25566
OPC_EmitMergeInputChains, 1, 0,
25567
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32rm), 0|OPFL_Chain|OPFL_MemRefs,
25568
2, MVT::i32, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
25570
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25571
OPC_EmitMergeInputChains, 1, 0,
25572
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64rm), 0|OPFL_Chain|OPFL_MemRefs,
25573
2, MVT::i64, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
25576
OPC_CheckPredicate, 24,
25579
OPC_CheckFoldableChainNode,
25583
OPC_CheckType, MVT::v2i64,
25584
OPC_CheckPatternPredicate, 1,
25585
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25586
OPC_EmitMergeInputChains, 1, 0,
25587
OPC_MorphNodeTo, TARGET_OPCODE(X86::PXORrm), 0|OPFL_Chain|OPFL_MemRefs,
25588
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
25592
OPC_CheckFoldableChainNode,
25596
OPC_CheckType, MVT::v1i64,
25597
OPC_CheckPatternPredicate, 8,
25598
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25599
OPC_EmitMergeInputChains, 1, 0,
25600
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PXORrm), 0|OPFL_Chain|OPFL_MemRefs,
25601
1, MVT::v1i64, 6, 2, 3, 4, 5, 6, 7,
25606
OPC_CheckInteger, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
25608
OPC_SwitchType , 8, MVT::i8,
25609
OPC_MorphNodeTo, TARGET_OPCODE(X86::NOT8r), 0,
25612
OPC_MorphNodeTo, TARGET_OPCODE(X86::NOT16r), 0,
25615
OPC_MorphNodeTo, TARGET_OPCODE(X86::NOT32r), 0,
25618
OPC_MorphNodeTo, TARGET_OPCODE(X86::NOT64r), 0,
25623
OPC_CheckOpcode, ISD::BIT_CONVERT,
25625
OPC_CheckChild0Type, MVT::v2f64,
25628
OPC_CheckOpcode, ISD::BIT_CONVERT,
25630
OPC_CheckChild0Type, MVT::v2f64,
25632
OPC_CheckType, MVT::v2i64,
25633
OPC_CheckPatternPredicate, 1,
25634
OPC_MorphNodeTo, TARGET_OPCODE(X86::XORPDrr), 0,
25635
1, MVT::v2i64, 2, 0, 1,
25641
OPC_CheckOpcode, ISD::Constant,
25643
OPC_CheckPredicate, 11,
25645
OPC_SwitchType , 12, MVT::i16,
25646
OPC_EmitConvertToTarget, 1,
25647
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16ri8), 0,
25648
2, MVT::i16, MVT::i32, 2, 0, 2,
25650
OPC_EmitConvertToTarget, 1,
25651
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32ri8), 0,
25652
2, MVT::i32, MVT::i32, 2, 0, 2,
25654
OPC_EmitConvertToTarget, 1,
25655
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64ri8), 0,
25656
2, MVT::i64, MVT::i32, 2, 0, 2,
25659
OPC_CheckPredicate, 12,
25661
OPC_CheckType, MVT::i64,
25662
OPC_EmitConvertToTarget, 1,
25663
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64ri32), 0,
25664
2, MVT::i64, MVT::i32, 2, 0, 2,
25667
OPC_SwitchType , 12, MVT::i8,
25668
OPC_EmitConvertToTarget, 1,
25669
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8ri), 0,
25670
2, MVT::i8, MVT::i32, 2, 0, 2,
25672
OPC_EmitConvertToTarget, 1,
25673
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16ri), 0,
25674
2, MVT::i16, MVT::i32, 2, 0, 2,
25676
OPC_EmitConvertToTarget, 1,
25677
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32ri), 0,
25678
2, MVT::i32, MVT::i32, 2, 0, 2,
25682
OPC_CheckType, MVT::i8,
25683
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8rr), 0,
25684
2, MVT::i8, MVT::i32, 2, 0, 1,
25686
OPC_CheckType, MVT::i16,
25687
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16rr), 0,
25688
2, MVT::i16, MVT::i32, 2, 0, 1,
25690
OPC_CheckType, MVT::i32,
25691
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32rr), 0,
25692
2, MVT::i32, MVT::i32, 2, 0, 1,
25694
OPC_CheckType, MVT::i64,
25695
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64rr), 0,
25696
2, MVT::i64, MVT::i32, 2, 0, 1,
25698
OPC_CheckType, MVT::v2i64,
25700
OPC_CheckPatternPredicate, 0,
25701
OPC_MorphNodeTo, TARGET_OPCODE(X86::XORPSrr), 0,
25702
1, MVT::v2i64, 2, 0, 1,
25704
OPC_CheckPatternPredicate, 1,
25705
OPC_MorphNodeTo, TARGET_OPCODE(X86::PXORrr), 0,
25706
1, MVT::v2i64, 2, 0, 1,
25709
OPC_CheckType, MVT::v1i64,
25710
OPC_CheckPatternPredicate, 8,
25711
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PXORrr), 0,
25712
1, MVT::v1i64, 2, 0, 1,
25717
OPC_CheckChild0Type, MVT::v4f32,
25720
OPC_CheckOpcode, ISD::LOAD,
25721
OPC_CheckPredicate, 4,
25722
OPC_CheckPredicate, 9,
25723
OPC_CheckPredicate, 24,
25726
OPC_CheckFoldableChainNode,
25731
OPC_CheckOpcode, ISD::Constant,
25733
OPC_CheckType, MVT::v4i32,
25734
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25735
OPC_EmitMergeInputChains, 1, 1,
25736
OPC_EmitConvertToTarget, 3,
25737
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMPPSrmi), 0|OPFL_Chain|OPFL_MemRefs,
25738
1, MVT::v4i32, 7, 0, 4, 5, 6, 7, 8, 9,
25743
OPC_CheckOpcode, ISD::Constant,
25745
OPC_CheckType, MVT::v4i32,
25746
OPC_EmitConvertToTarget, 2,
25747
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMPPSrri), 0,
25748
1, MVT::v4i32, 3, 0, 1, 3,
25752
OPC_CheckChild0Type, MVT::v2f64,
25755
OPC_CheckOpcode, ISD::LOAD,
25756
OPC_CheckPredicate, 4,
25757
OPC_CheckPredicate, 9,
25758
OPC_CheckPredicate, 24,
25761
OPC_CheckFoldableChainNode,
25766
OPC_CheckOpcode, ISD::Constant,
25768
OPC_CheckType, MVT::v2i64,
25769
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25770
OPC_EmitMergeInputChains, 1, 1,
25771
OPC_EmitConvertToTarget, 3,
25772
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMPPDrmi), 0|OPFL_Chain|OPFL_MemRefs,
25773
1, MVT::v2i64, 7, 0, 4, 5, 6, 7, 8, 9,
25778
OPC_CheckOpcode, ISD::Constant,
25780
OPC_CheckType, MVT::v2i64,
25781
OPC_EmitConvertToTarget, 2,
25782
OPC_MorphNodeTo, TARGET_OPCODE(X86::CMPPDrri), 0,
25783
1, MVT::v2i64, 3, 0, 1, 3,
25785
97|128,11, ISD::ADD,
25786
OPC_Scope, 72|128,1,
25789
OPC_CheckOpcode, ISD::BIT_CONVERT,
25791
OPC_CheckOpcode, ISD::LOAD,
25792
OPC_CheckPredicate, 4,
25793
OPC_CheckPredicate, 9,
25795
OPC_CheckPredicate, 24,
25798
OPC_CheckFoldableChainNode,
25800
OPC_CheckType, MVT::v2i64,
25803
OPC_SwitchType , 21, MVT::v16i8,
25804
OPC_CheckPatternPredicate, 1,
25805
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25806
OPC_EmitMergeInputChains, 1, 1,
25807
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDBrm), 0|OPFL_Chain|OPFL_MemRefs,
25808
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
25810
OPC_CheckPatternPredicate, 1,
25811
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25812
OPC_EmitMergeInputChains, 1, 1,
25813
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDWrm), 0|OPFL_Chain|OPFL_MemRefs,
25814
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
25816
OPC_CheckPatternPredicate, 1,
25817
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25818
OPC_EmitMergeInputChains, 1, 1,
25819
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDDrm), 0|OPFL_Chain|OPFL_MemRefs,
25820
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
25825
OPC_CheckFoldableChainNode,
25827
OPC_CheckType, MVT::v1i64,
25830
OPC_SwitchType , 21, MVT::v8i8,
25831
OPC_CheckPatternPredicate, 8,
25832
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25833
OPC_EmitMergeInputChains, 1, 1,
25834
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDBrm), 0|OPFL_Chain|OPFL_MemRefs,
25835
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
25837
OPC_CheckPatternPredicate, 8,
25838
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25839
OPC_EmitMergeInputChains, 1, 1,
25840
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDWrm), 0|OPFL_Chain|OPFL_MemRefs,
25841
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
25843
OPC_CheckPatternPredicate, 8,
25844
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25845
OPC_EmitMergeInputChains, 1, 1,
25846
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDDrm), 0|OPFL_Chain|OPFL_MemRefs,
25847
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
25849
OPC_CheckPatternPredicate, 8,
25850
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25851
OPC_EmitMergeInputChains, 1, 1,
25852
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDQrm), 0|OPFL_Chain|OPFL_MemRefs,
25853
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
25858
OPC_CheckOpcode, ISD::BIT_CONVERT,
25860
OPC_CheckOpcode, ISD::LOAD,
25861
OPC_CheckPredicate, 4,
25862
OPC_CheckPredicate, 9,
25864
OPC_CheckPredicate, 24,
25867
OPC_CheckFoldableChainNode,
25869
OPC_CheckType, MVT::v2i64,
25873
OPC_SwitchType , 21, MVT::v16i8,
25874
OPC_CheckPatternPredicate, 1,
25875
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25876
OPC_EmitMergeInputChains, 1, 0,
25877
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDBrm), 0|OPFL_Chain|OPFL_MemRefs,
25878
1, MVT::v16i8, 6, 2, 3, 4, 5, 6, 7,
25880
OPC_CheckPatternPredicate, 1,
25881
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25882
OPC_EmitMergeInputChains, 1, 0,
25883
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDWrm), 0|OPFL_Chain|OPFL_MemRefs,
25884
1, MVT::v8i16, 6, 2, 3, 4, 5, 6, 7,
25886
OPC_CheckPatternPredicate, 1,
25887
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25888
OPC_EmitMergeInputChains, 1, 0,
25889
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDDrm), 0|OPFL_Chain|OPFL_MemRefs,
25890
1, MVT::v4i32, 6, 2, 3, 4, 5, 6, 7,
25895
OPC_CheckFoldableChainNode,
25897
OPC_CheckType, MVT::v1i64,
25901
OPC_SwitchType , 21, MVT::v8i8,
25902
OPC_CheckPatternPredicate, 8,
25903
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25904
OPC_EmitMergeInputChains, 1, 0,
25905
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDBrm), 0|OPFL_Chain|OPFL_MemRefs,
25906
1, MVT::v8i8, 6, 2, 3, 4, 5, 6, 7,
25908
OPC_CheckPatternPredicate, 8,
25909
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25910
OPC_EmitMergeInputChains, 1, 0,
25911
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDWrm), 0|OPFL_Chain|OPFL_MemRefs,
25912
1, MVT::v4i16, 6, 2, 3, 4, 5, 6, 7,
25914
OPC_CheckPatternPredicate, 8,
25915
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25916
OPC_EmitMergeInputChains, 1, 0,
25917
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDDrm), 0|OPFL_Chain|OPFL_MemRefs,
25918
1, MVT::v2i32, 6, 2, 3, 4, 5, 6, 7,
25920
OPC_CheckPatternPredicate, 8,
25921
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25922
OPC_EmitMergeInputChains, 1, 0,
25923
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDQrm), 0|OPFL_Chain|OPFL_MemRefs,
25924
1, MVT::v1i64, 6, 2, 3, 4, 5, 6, 7,
25930
OPC_CheckOpcode, ISD::LOAD,
25931
OPC_CheckPredicate, 4,
25932
OPC_CheckPredicate, 9,
25936
OPC_CheckFoldableChainNode,
25939
OPC_SwitchType , 20, MVT::i8,
25940
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25941
OPC_EmitMergeInputChains, 1, 1,
25942
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8rm), 0|OPFL_Chain|OPFL_MemRefs,
25943
2, MVT::i8, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
25945
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25946
OPC_EmitMergeInputChains, 1, 1,
25947
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16rm), 0|OPFL_Chain|OPFL_MemRefs,
25948
2, MVT::i16, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
25950
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25951
OPC_EmitMergeInputChains, 1, 1,
25952
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32rm), 0|OPFL_Chain|OPFL_MemRefs,
25953
2, MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
25955
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25956
OPC_EmitMergeInputChains, 1, 1,
25957
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64rm), 0|OPFL_Chain|OPFL_MemRefs,
25958
2, MVT::i64, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
25961
OPC_CheckPredicate, 24,
25964
OPC_CheckFoldableChainNode,
25967
OPC_CheckType, MVT::v2i64,
25968
OPC_CheckPatternPredicate, 1,
25969
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
25970
OPC_EmitMergeInputChains, 1, 1,
25971
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDQrm), 0|OPFL_Chain|OPFL_MemRefs,
25972
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
25976
OPC_CheckOpcode, ISD::LOAD,
25977
OPC_CheckPredicate, 4,
25978
OPC_CheckPredicate, 9,
25982
OPC_CheckFoldableChainNode,
25986
OPC_SwitchType , 20, MVT::i8,
25987
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25988
OPC_EmitMergeInputChains, 1, 0,
25989
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8rm), 0|OPFL_Chain|OPFL_MemRefs,
25990
2, MVT::i8, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
25992
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25993
OPC_EmitMergeInputChains, 1, 0,
25994
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16rm), 0|OPFL_Chain|OPFL_MemRefs,
25995
2, MVT::i16, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
25997
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
25998
OPC_EmitMergeInputChains, 1, 0,
25999
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32rm), 0|OPFL_Chain|OPFL_MemRefs,
26000
2, MVT::i32, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
26002
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
26003
OPC_EmitMergeInputChains, 1, 0,
26004
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64rm), 0|OPFL_Chain|OPFL_MemRefs,
26005
2, MVT::i64, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
26008
OPC_CheckPredicate, 24,
26011
OPC_CheckFoldableChainNode,
26015
OPC_CheckType, MVT::v2i64,
26016
OPC_CheckPatternPredicate, 1,
26017
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
26018
OPC_EmitMergeInputChains, 1, 0,
26019
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDQrm), 0|OPFL_Chain|OPFL_MemRefs,
26020
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
26024
OPC_SwitchType , 36, MVT::i32,
26026
OPC_CheckPatternPredicate, 2,
26027
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
26028
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA32r), 0,
26029
1, MVT::i32, 4, 1, 2, 3, 4,
26031
OPC_CheckPatternPredicate, 3,
26032
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
26033
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64_32r), 0,
26034
1, MVT::i32, 4, 1, 2, 3, 4,
26037
OPC_CheckComplexPat, /*CP*/4, /*#*/0,
26038
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64r), 0,
26039
1, MVT::i64, 4, 1, 2, 3, 4,
26044
OPC_CheckOpcode, X86ISD::Wrapper,
26047
OPC_SwitchOpcode , 13, ISD::TargetConstantPool,
26050
OPC_CheckType, MVT::i32,
26051
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0,
26052
1, MVT::i32, 2, 0, 1,
26053
13, ISD::TargetJumpTable,
26056
OPC_CheckType, MVT::i32,
26057
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0,
26058
1, MVT::i32, 2, 0, 1,
26059
13, ISD::TargetGlobalAddress,
26062
OPC_CheckType, MVT::i32,
26063
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0,
26064
1, MVT::i32, 2, 0, 1,
26065
13, ISD::TargetExternalSymbol,
26068
OPC_CheckType, MVT::i32,
26069
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0,
26070
1, MVT::i32, 2, 0, 1,
26071
13, ISD::TargetBlockAddress,
26074
OPC_CheckType, MVT::i32,
26075
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0,
26076
1, MVT::i32, 2, 0, 1,
26080
OPC_CheckOpcode, X86ISD::Wrapper,
26083
OPC_SwitchOpcode , 14, ISD::TargetConstantPool,
26087
OPC_CheckType, MVT::i32,
26088
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0,
26089
1, MVT::i32, 2, 1, 0,
26090
14, ISD::TargetJumpTable,
26094
OPC_CheckType, MVT::i32,
26095
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0,
26096
1, MVT::i32, 2, 1, 0,
26097
14, ISD::TargetGlobalAddress,
26101
OPC_CheckType, MVT::i32,
26102
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0,
26103
1, MVT::i32, 2, 1, 0,
26104
14, ISD::TargetExternalSymbol,
26108
OPC_CheckType, MVT::i32,
26109
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0,
26110
1, MVT::i32, 2, 1, 0,
26111
14, ISD::TargetBlockAddress,
26115
OPC_CheckType, MVT::i32,
26116
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0,
26117
1, MVT::i32, 2, 1, 0,
26121
OPC_Scope, 32|128,2,
26124
OPC_CheckInteger, 1,
26126
OPC_SwitchType , 26, MVT::i16,
26128
OPC_CheckPatternPredicate, 2,
26129
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC16r), 0,
26130
2, MVT::i16, MVT::i32, 1, 0,
26132
OPC_CheckPatternPredicate, 3,
26133
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC64_16r), 0,
26134
2, MVT::i16, MVT::i32, 1, 0,
26138
OPC_CheckPatternPredicate, 2,
26139
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC32r), 0,
26140
2, MVT::i32, MVT::i32, 1, 0,
26142
OPC_CheckPatternPredicate, 3,
26143
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC64_32r), 0,
26144
2, MVT::i32, MVT::i32, 1, 0,
26147
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC8r), 0,
26148
2, MVT::i8, MVT::i32, 1, 0,
26150
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC64r), 0,
26151
2, MVT::i64, MVT::i32, 1, 0,
26154
OPC_CheckInteger, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
26156
OPC_SwitchType , 26, MVT::i16,
26158
OPC_CheckPatternPredicate, 2,
26159
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC16r), 0,
26160
2, MVT::i16, MVT::i32, 1, 0,
26162
OPC_CheckPatternPredicate, 3,
26163
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC64_16r), 0,
26164
2, MVT::i16, MVT::i32, 1, 0,
26168
OPC_CheckPatternPredicate, 2,
26169
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC32r), 0,
26170
2, MVT::i32, MVT::i32, 1, 0,
26172
OPC_CheckPatternPredicate, 3,
26173
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC64_32r), 0,
26174
2, MVT::i32, MVT::i32, 1, 0,
26177
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC8r), 0,
26178
2, MVT::i8, MVT::i32, 1, 0,
26180
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC64r), 0,
26181
2, MVT::i64, MVT::i32, 1, 0,
26184
OPC_CheckInteger, 0|128,1,
26186
OPC_SwitchType , 21, MVT::i16,
26187
OPC_EmitInteger, MVT::i16, 0|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
26188
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16ri8), 0,
26189
1, MVT::i16, 2, 0, 1,
26191
OPC_EmitInteger, MVT::i32, 0|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
26192
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32ri8), 0,
26193
1, MVT::i32, 2, 0, 1,
26195
OPC_EmitInteger, MVT::i64, 0|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1,
26196
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64ri8), 0,
26197
1, MVT::i64, 2, 0, 1,
26200
OPC_CheckInteger, 0|128,0|128,0|128,0|128,8,
26202
OPC_CheckType, MVT::i64,
26203
OPC_EmitInteger, MVT::i64, 0|128,0|128,0|128,0|128,120|128,127|128,127|128,127|128,127|128,1,
26204
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64ri32), 0,
26205
1, MVT::i64, 2, 0, 1,
26211
OPC_CheckOpcode, ISD::Constant,
26213
OPC_CheckPredicate, 11,
26215
OPC_SwitchType , 12, MVT::i16,
26216
OPC_EmitConvertToTarget, 1,
26217
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16ri8), 0,
26218
2, MVT::i16, MVT::i32, 2, 0, 2,
26220
OPC_EmitConvertToTarget, 1,
26221
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri8), 0,
26222
2, MVT::i32, MVT::i32, 2, 0, 2,
26224
OPC_EmitConvertToTarget, 1,
26225
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64ri8), 0,
26226
2, MVT::i64, MVT::i32, 2, 0, 2,
26229
OPC_CheckPredicate, 12,
26231
OPC_CheckType, MVT::i64,
26232
OPC_EmitConvertToTarget, 1,
26233
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64ri32), 0,
26234
2, MVT::i64, MVT::i32, 2, 0, 2,
26237
OPC_SwitchType , 12, MVT::i8,
26238
OPC_EmitConvertToTarget, 1,
26239
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8ri), 0,
26240
2, MVT::i8, MVT::i32, 2, 0, 2,
26242
OPC_EmitConvertToTarget, 1,
26243
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16ri), 0,
26244
2, MVT::i16, MVT::i32, 2, 0, 2,
26246
OPC_EmitConvertToTarget, 1,
26247
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0,
26248
2, MVT::i32, MVT::i32, 2, 0, 2,
26252
OPC_CheckType, MVT::i8,
26253
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8rr), 0,
26254
2, MVT::i8, MVT::i32, 2, 0, 1,
26256
OPC_CheckType, MVT::i16,
26257
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16rr), 0,
26258
2, MVT::i16, MVT::i32, 2, 0, 1,
26260
OPC_CheckType, MVT::i32,
26261
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32rr), 0,
26262
2, MVT::i32, MVT::i32, 2, 0, 1,
26264
OPC_CheckType, MVT::i64,
26265
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64rr), 0,
26266
2, MVT::i64, MVT::i32, 2, 0, 1,
26268
OPC_CheckType, MVT::v16i8,
26269
OPC_CheckPatternPredicate, 1,
26270
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDBrr), 0,
26271
1, MVT::v16i8, 2, 0, 1,
26273
OPC_CheckType, MVT::v8i16,
26274
OPC_CheckPatternPredicate, 1,
26275
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDWrr), 0,
26276
1, MVT::v8i16, 2, 0, 1,
26278
OPC_CheckType, MVT::v4i32,
26279
OPC_CheckPatternPredicate, 1,
26280
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDDrr), 0,
26281
1, MVT::v4i32, 2, 0, 1,
26283
OPC_CheckType, MVT::v2i64,
26284
OPC_CheckPatternPredicate, 1,
26285
OPC_MorphNodeTo, TARGET_OPCODE(X86::PADDQrr), 0,
26286
1, MVT::v2i64, 2, 0, 1,
26288
OPC_CheckType, MVT::v8i8,
26289
OPC_CheckPatternPredicate, 8,
26290
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDBrr), 0,
26291
1, MVT::v8i8, 2, 0, 1,
26293
OPC_CheckType, MVT::v4i16,
26294
OPC_CheckPatternPredicate, 8,
26295
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDWrr), 0,
26296
1, MVT::v4i16, 2, 0, 1,
26298
OPC_CheckType, MVT::v2i32,
26299
OPC_CheckPatternPredicate, 8,
26300
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDDrr), 0,
26301
1, MVT::v2i32, 2, 0, 1,
26303
OPC_CheckType, MVT::v1i64,
26304
OPC_CheckPatternPredicate, 8,
26305
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PADDQrr), 0,
26306
1, MVT::v1i64, 2, 0, 1,
26310
103|128,5, ISD::SUB,
26311
OPC_Scope, 83|128,2,
26314
OPC_SwitchOpcode , 67|128,1, ISD::BIT_CONVERT,
26316
OPC_CheckOpcode, ISD::LOAD,
26317
OPC_CheckPredicate, 4,
26318
OPC_CheckPredicate, 9,
26320
OPC_CheckPredicate, 24,
26323
OPC_CheckFoldableChainNode,
26325
OPC_CheckType, MVT::v2i64,
26328
OPC_SwitchType , 21, MVT::v16i8,
26329
OPC_CheckPatternPredicate, 1,
26330
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26331
OPC_EmitMergeInputChains, 1, 1,
26332
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBBrm), 0|OPFL_Chain|OPFL_MemRefs,
26333
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
26335
OPC_CheckPatternPredicate, 1,
26336
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26337
OPC_EmitMergeInputChains, 1, 1,
26338
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBWrm), 0|OPFL_Chain|OPFL_MemRefs,
26339
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
26341
OPC_CheckPatternPredicate, 1,
26342
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26343
OPC_EmitMergeInputChains, 1, 1,
26344
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBDrm), 0|OPFL_Chain|OPFL_MemRefs,
26345
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
26350
OPC_CheckFoldableChainNode,
26352
OPC_CheckType, MVT::v1i64,
26355
OPC_SwitchType , 21, MVT::v8i8,
26356
OPC_CheckPatternPredicate, 8,
26357
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26358
OPC_EmitMergeInputChains, 1, 1,
26359
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBBrm), 0|OPFL_Chain|OPFL_MemRefs,
26360
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
26362
OPC_CheckPatternPredicate, 8,
26363
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26364
OPC_EmitMergeInputChains, 1, 1,
26365
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBWrm), 0|OPFL_Chain|OPFL_MemRefs,
26366
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
26368
OPC_CheckPatternPredicate, 8,
26369
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26370
OPC_EmitMergeInputChains, 1, 1,
26371
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBDrm), 0|OPFL_Chain|OPFL_MemRefs,
26372
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
26374
OPC_CheckPatternPredicate, 8,
26375
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26376
OPC_EmitMergeInputChains, 1, 1,
26377
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBQrm), 0|OPFL_Chain|OPFL_MemRefs,
26378
1, MVT::v1i64, 6, 0, 3, 4, 5, 6, 7,
26381
5|128,1, ISD::LOAD,
26382
OPC_CheckPredicate, 4,
26383
OPC_CheckPredicate, 9,
26387
OPC_CheckFoldableChainNode,
26390
OPC_SwitchType , 20, MVT::i8,
26391
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26392
OPC_EmitMergeInputChains, 1, 1,
26393
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB8rm), 0|OPFL_Chain|OPFL_MemRefs,
26394
2, MVT::i8, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
26396
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26397
OPC_EmitMergeInputChains, 1, 1,
26398
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16rm), 0|OPFL_Chain|OPFL_MemRefs,
26399
2, MVT::i16, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
26401
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26402
OPC_EmitMergeInputChains, 1, 1,
26403
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32rm), 0|OPFL_Chain|OPFL_MemRefs,
26404
2, MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
26406
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26407
OPC_EmitMergeInputChains, 1, 1,
26408
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64rm), 0|OPFL_Chain|OPFL_MemRefs,
26409
2, MVT::i64, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
26412
OPC_CheckPredicate, 24,
26415
OPC_CheckFoldableChainNode,
26418
OPC_CheckType, MVT::v2i64,
26419
OPC_CheckPatternPredicate, 1,
26420
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26421
OPC_EmitMergeInputChains, 1, 1,
26422
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBQrm), 0|OPFL_Chain|OPFL_MemRefs,
26423
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
26428
OPC_SwitchType , 36, MVT::i32,
26430
OPC_CheckPatternPredicate, 2,
26431
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
26432
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA32r), 0,
26433
1, MVT::i32, 4, 1, 2, 3, 4,
26435
OPC_CheckPatternPredicate, 3,
26436
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
26437
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64_32r), 0,
26438
1, MVT::i32, 4, 1, 2, 3, 4,
26441
OPC_CheckComplexPat, /*CP*/4, /*#*/0,
26442
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64r), 0,
26443
1, MVT::i64, 4, 1, 2, 3, 4,
26447
OPC_CheckInteger, 0,
26450
OPC_SwitchType , 9, MVT::i8,
26451
OPC_MorphNodeTo, TARGET_OPCODE(X86::NEG8r), 0,
26452
2, MVT::i8, MVT::i32, 1, 0,
26454
OPC_MorphNodeTo, TARGET_OPCODE(X86::NEG16r), 0,
26455
2, MVT::i16, MVT::i32, 1, 0,
26457
OPC_MorphNodeTo, TARGET_OPCODE(X86::NEG32r), 0,
26458
2, MVT::i32, MVT::i32, 1, 0,
26460
OPC_MorphNodeTo, TARGET_OPCODE(X86::NEG64r), 0,
26461
2, MVT::i64, MVT::i32, 1, 0,
26468
OPC_CheckOpcode, ISD::Constant,
26470
OPC_CheckPredicate, 11,
26472
OPC_SwitchType , 12, MVT::i16,
26473
OPC_EmitConvertToTarget, 1,
26474
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16ri8), 0,
26475
2, MVT::i16, MVT::i32, 2, 0, 2,
26477
OPC_EmitConvertToTarget, 1,
26478
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32ri8), 0,
26479
2, MVT::i32, MVT::i32, 2, 0, 2,
26481
OPC_EmitConvertToTarget, 1,
26482
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64ri8), 0,
26483
2, MVT::i64, MVT::i32, 2, 0, 2,
26486
OPC_CheckPredicate, 12,
26488
OPC_CheckType, MVT::i64,
26489
OPC_EmitConvertToTarget, 1,
26490
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64ri32), 0,
26491
2, MVT::i64, MVT::i32, 2, 0, 2,
26494
OPC_SwitchType , 12, MVT::i8,
26495
OPC_EmitConvertToTarget, 1,
26496
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB8ri), 0,
26497
2, MVT::i8, MVT::i32, 2, 0, 2,
26499
OPC_EmitConvertToTarget, 1,
26500
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16ri), 0,
26501
2, MVT::i16, MVT::i32, 2, 0, 2,
26503
OPC_EmitConvertToTarget, 1,
26504
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32ri), 0,
26505
2, MVT::i32, MVT::i32, 2, 0, 2,
26509
OPC_CheckType, MVT::i8,
26510
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB8rr), 0,
26511
2, MVT::i8, MVT::i32, 2, 0, 1,
26513
OPC_CheckType, MVT::i16,
26514
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16rr), 0,
26515
2, MVT::i16, MVT::i32, 2, 0, 1,
26517
OPC_CheckType, MVT::i32,
26518
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32rr), 0,
26519
2, MVT::i32, MVT::i32, 2, 0, 1,
26521
OPC_CheckType, MVT::i64,
26522
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64rr), 0,
26523
2, MVT::i64, MVT::i32, 2, 0, 1,
26525
OPC_CheckType, MVT::v16i8,
26526
OPC_CheckPatternPredicate, 1,
26527
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBBrr), 0,
26528
1, MVT::v16i8, 2, 0, 1,
26530
OPC_CheckType, MVT::v8i16,
26531
OPC_CheckPatternPredicate, 1,
26532
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBWrr), 0,
26533
1, MVT::v8i16, 2, 0, 1,
26535
OPC_CheckType, MVT::v4i32,
26536
OPC_CheckPatternPredicate, 1,
26537
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBDrr), 0,
26538
1, MVT::v4i32, 2, 0, 1,
26540
OPC_CheckType, MVT::v2i64,
26541
OPC_CheckPatternPredicate, 1,
26542
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSUBQrr), 0,
26543
1, MVT::v2i64, 2, 0, 1,
26545
OPC_CheckType, MVT::v8i8,
26546
OPC_CheckPatternPredicate, 8,
26547
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBBrr), 0,
26548
1, MVT::v8i8, 2, 0, 1,
26550
OPC_CheckType, MVT::v4i16,
26551
OPC_CheckPatternPredicate, 8,
26552
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBWrr), 0,
26553
1, MVT::v4i16, 2, 0, 1,
26555
OPC_CheckType, MVT::v2i32,
26556
OPC_CheckPatternPredicate, 8,
26557
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBDrr), 0,
26558
1, MVT::v2i32, 2, 0, 1,
26560
OPC_CheckType, MVT::v1i64,
26561
OPC_CheckPatternPredicate, 8,
26562
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSUBQrr), 0,
26563
1, MVT::v1i64, 2, 0, 1,
26566
71, X86ISD::PINSRW,
26570
OPC_CheckOpcode, ISD::LOAD,
26571
OPC_CheckPredicate, 4,
26572
OPC_CheckPredicate, 48,
26573
OPC_CheckPredicate, 60,
26576
OPC_CheckFoldableChainNode,
26581
OPC_CheckOpcode, ISD::Constant,
26583
OPC_CheckPatternPredicate, 1,
26584
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26585
OPC_EmitMergeInputChains, 1, 1,
26586
OPC_EmitConvertToTarget, 3,
26587
OPC_MorphNodeTo, TARGET_OPCODE(X86::PINSRWrmi), 0|OPFL_Chain|OPFL_MemRefs,
26588
1, MVT::v8i16, 7, 0, 4, 5, 6, 7, 8, 9,
26593
OPC_CheckOpcode, ISD::Constant,
26595
OPC_CheckPatternPredicate, 1,
26596
OPC_EmitConvertToTarget, 2,
26597
OPC_MorphNodeTo, TARGET_OPCODE(X86::PINSRWrri), 0,
26598
1, MVT::v8i16, 3, 0, 1, 3,
26600
126, ISD::MEMBARRIER,
26604
OPC_CheckInteger, 0,
26605
OPC_CheckType, MVT::i8,
26608
OPC_CheckInteger, 0,
26611
OPC_CheckInteger, 0,
26614
OPC_CheckInteger, 1,
26617
OPC_CheckInteger, 1,
26619
OPC_EmitMergeInputChains, 1, 0,
26620
OPC_MorphNodeTo, TARGET_OPCODE(X86::SFENCE), 0|OPFL_Chain,
26623
OPC_CheckInteger, 1,
26624
OPC_CheckType, MVT::i8,
26627
OPC_CheckInteger, 0,
26630
OPC_CheckInteger, 0,
26633
OPC_CheckInteger, 0,
26636
OPC_CheckInteger, 1,
26638
OPC_EmitMergeInputChains, 1, 0,
26639
OPC_MorphNodeTo, TARGET_OPCODE(X86::LFENCE), 0|OPFL_Chain,
26642
OPC_CheckOpcode, ISD::Constant,
26643
OPC_CheckType, MVT::i8,
26646
OPC_CheckOpcode, ISD::Constant,
26649
OPC_CheckOpcode, ISD::Constant,
26652
OPC_CheckOpcode, ISD::Constant,
26656
OPC_CheckInteger, 0,
26658
OPC_EmitMergeInputChains, 1, 0,
26659
OPC_MorphNodeTo, TARGET_OPCODE(X86::NOOP), 0|OPFL_Chain,
26662
OPC_CheckInteger, 1,
26664
OPC_EmitMergeInputChains, 1, 0,
26665
OPC_MorphNodeTo, TARGET_OPCODE(X86::MFENCE), 0|OPFL_Chain,
26669
60, X86ISD::PSHUFB,
26673
OPC_CheckOpcode, ISD::BIT_CONVERT,
26675
OPC_CheckOpcode, ISD::LOAD,
26676
OPC_CheckPredicate, 4,
26677
OPC_CheckPredicate, 9,
26678
OPC_CheckPredicate, 24,
26681
OPC_CheckFoldableChainNode,
26683
OPC_CheckType, MVT::v2i64,
26686
OPC_CheckPatternPredicate, 11,
26687
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26688
OPC_EmitMergeInputChains, 1, 1,
26689
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFBrm128), 0|OPFL_Chain|OPFL_MemRefs,
26690
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
26693
OPC_CheckPatternPredicate, 11,
26694
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSHUFBrr128), 0,
26695
1, MVT::v16i8, 2, 0, 1,
26697
71, X86ISD::PINSRB,
26701
OPC_CheckOpcode, ISD::LOAD,
26702
OPC_CheckPredicate, 4,
26703
OPC_CheckPredicate, 48,
26704
OPC_CheckPredicate, 59,
26707
OPC_CheckFoldableChainNode,
26712
OPC_CheckOpcode, ISD::Constant,
26714
OPC_CheckPatternPredicate, 4,
26715
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26716
OPC_EmitMergeInputChains, 1, 1,
26717
OPC_EmitConvertToTarget, 3,
26718
OPC_MorphNodeTo, TARGET_OPCODE(X86::PINSRBrm), 0|OPFL_Chain|OPFL_MemRefs,
26719
1, MVT::v16i8, 7, 0, 4, 5, 6, 7, 8, 9,
26724
OPC_CheckOpcode, ISD::Constant,
26726
OPC_CheckPatternPredicate, 4,
26727
OPC_EmitConvertToTarget, 2,
26728
OPC_MorphNodeTo, TARGET_OPCODE(X86::PINSRBrr), 0,
26729
1, MVT::v16i8, 3, 0, 1, 3,
26731
63|128,1, X86ISD::PCMPEQB,
26735
OPC_CheckOpcode, ISD::BIT_CONVERT,
26737
OPC_CheckOpcode, ISD::LOAD,
26738
OPC_CheckPredicate, 4,
26739
OPC_CheckPredicate, 9,
26742
OPC_CheckFoldableChainNode,
26744
OPC_CheckType, MVT::v1i64,
26747
OPC_CheckType, MVT::v8i8,
26748
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26749
OPC_EmitMergeInputChains, 1, 1,
26750
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQBrm), 0|OPFL_Chain|OPFL_MemRefs,
26751
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
26754
OPC_CheckOpcode, ISD::BIT_CONVERT,
26756
OPC_CheckOpcode, ISD::LOAD,
26757
OPC_CheckPredicate, 4,
26758
OPC_CheckPredicate, 9,
26761
OPC_CheckFoldableChainNode,
26763
OPC_CheckType, MVT::v1i64,
26767
OPC_CheckType, MVT::v8i8,
26768
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
26769
OPC_EmitMergeInputChains, 1, 0,
26770
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQBrm), 0|OPFL_Chain|OPFL_MemRefs,
26771
1, MVT::v8i8, 6, 2, 3, 4, 5, 6, 7,
26775
OPC_CheckOpcode, ISD::LOAD,
26776
OPC_CheckPredicate, 4,
26777
OPC_CheckPredicate, 9,
26778
OPC_CheckPredicate, 24,
26781
OPC_CheckFoldableChainNode,
26784
OPC_CheckType, MVT::v16i8,
26785
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26786
OPC_EmitMergeInputChains, 1, 1,
26787
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQBrm), 0|OPFL_Chain|OPFL_MemRefs,
26788
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
26791
OPC_CheckOpcode, ISD::LOAD,
26792
OPC_CheckPredicate, 4,
26793
OPC_CheckPredicate, 9,
26794
OPC_CheckPredicate, 24,
26797
OPC_CheckFoldableChainNode,
26801
OPC_CheckType, MVT::v16i8,
26802
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
26803
OPC_EmitMergeInputChains, 1, 0,
26804
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQBrm), 0|OPFL_Chain|OPFL_MemRefs,
26805
1, MVT::v16i8, 6, 2, 3, 4, 5, 6, 7,
26809
OPC_SwitchType , 9, MVT::v16i8,
26810
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQBrr), 0,
26811
1, MVT::v16i8, 2, 0, 1,
26813
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQBrr), 0,
26814
1, MVT::v8i8, 2, 0, 1,
26817
63|128,1, X86ISD::PCMPEQW,
26821
OPC_CheckOpcode, ISD::BIT_CONVERT,
26823
OPC_CheckOpcode, ISD::LOAD,
26824
OPC_CheckPredicate, 4,
26825
OPC_CheckPredicate, 9,
26828
OPC_CheckFoldableChainNode,
26830
OPC_CheckType, MVT::v1i64,
26833
OPC_CheckType, MVT::v4i16,
26834
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26835
OPC_EmitMergeInputChains, 1, 1,
26836
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQWrm), 0|OPFL_Chain|OPFL_MemRefs,
26837
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
26840
OPC_CheckOpcode, ISD::BIT_CONVERT,
26842
OPC_CheckOpcode, ISD::LOAD,
26843
OPC_CheckPredicate, 4,
26844
OPC_CheckPredicate, 9,
26847
OPC_CheckFoldableChainNode,
26849
OPC_CheckType, MVT::v1i64,
26853
OPC_CheckType, MVT::v4i16,
26854
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
26855
OPC_EmitMergeInputChains, 1, 0,
26856
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQWrm), 0|OPFL_Chain|OPFL_MemRefs,
26857
1, MVT::v4i16, 6, 2, 3, 4, 5, 6, 7,
26861
OPC_CheckOpcode, ISD::LOAD,
26862
OPC_CheckPredicate, 4,
26863
OPC_CheckPredicate, 9,
26864
OPC_CheckPredicate, 24,
26867
OPC_CheckFoldableChainNode,
26870
OPC_CheckType, MVT::v8i16,
26871
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26872
OPC_EmitMergeInputChains, 1, 1,
26873
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQWrm), 0|OPFL_Chain|OPFL_MemRefs,
26874
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
26877
OPC_CheckOpcode, ISD::LOAD,
26878
OPC_CheckPredicate, 4,
26879
OPC_CheckPredicate, 9,
26880
OPC_CheckPredicate, 24,
26883
OPC_CheckFoldableChainNode,
26887
OPC_CheckType, MVT::v8i16,
26888
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
26889
OPC_EmitMergeInputChains, 1, 0,
26890
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQWrm), 0|OPFL_Chain|OPFL_MemRefs,
26891
1, MVT::v8i16, 6, 2, 3, 4, 5, 6, 7,
26895
OPC_SwitchType , 9, MVT::v8i16,
26896
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQWrr), 0,
26897
1, MVT::v8i16, 2, 0, 1,
26899
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQWrr), 0,
26900
1, MVT::v4i16, 2, 0, 1,
26903
63|128,1, X86ISD::PCMPEQD,
26907
OPC_CheckOpcode, ISD::BIT_CONVERT,
26909
OPC_CheckOpcode, ISD::LOAD,
26910
OPC_CheckPredicate, 4,
26911
OPC_CheckPredicate, 9,
26914
OPC_CheckFoldableChainNode,
26916
OPC_CheckType, MVT::v1i64,
26919
OPC_CheckType, MVT::v2i32,
26920
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26921
OPC_EmitMergeInputChains, 1, 1,
26922
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQDrm), 0|OPFL_Chain|OPFL_MemRefs,
26923
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
26926
OPC_CheckOpcode, ISD::BIT_CONVERT,
26928
OPC_CheckOpcode, ISD::LOAD,
26929
OPC_CheckPredicate, 4,
26930
OPC_CheckPredicate, 9,
26933
OPC_CheckFoldableChainNode,
26935
OPC_CheckType, MVT::v1i64,
26939
OPC_CheckType, MVT::v2i32,
26940
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
26941
OPC_EmitMergeInputChains, 1, 0,
26942
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQDrm), 0|OPFL_Chain|OPFL_MemRefs,
26943
1, MVT::v2i32, 6, 2, 3, 4, 5, 6, 7,
26947
OPC_CheckOpcode, ISD::LOAD,
26948
OPC_CheckPredicate, 4,
26949
OPC_CheckPredicate, 9,
26950
OPC_CheckPredicate, 24,
26953
OPC_CheckFoldableChainNode,
26956
OPC_CheckType, MVT::v4i32,
26957
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
26958
OPC_EmitMergeInputChains, 1, 1,
26959
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQDrm), 0|OPFL_Chain|OPFL_MemRefs,
26960
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
26963
OPC_CheckOpcode, ISD::LOAD,
26964
OPC_CheckPredicate, 4,
26965
OPC_CheckPredicate, 9,
26966
OPC_CheckPredicate, 24,
26969
OPC_CheckFoldableChainNode,
26973
OPC_CheckType, MVT::v4i32,
26974
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
26975
OPC_EmitMergeInputChains, 1, 0,
26976
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQDrm), 0|OPFL_Chain|OPFL_MemRefs,
26977
1, MVT::v4i32, 6, 2, 3, 4, 5, 6, 7,
26981
OPC_SwitchType , 9, MVT::v4i32,
26982
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQDrr), 0,
26983
1, MVT::v4i32, 2, 0, 1,
26985
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPEQDrr), 0,
26986
1, MVT::v2i32, 2, 0, 1,
26989
107, X86ISD::PCMPGTB,
26993
OPC_SwitchOpcode , 37, ISD::BIT_CONVERT,
26995
OPC_CheckOpcode, ISD::LOAD,
26996
OPC_CheckPredicate, 4,
26997
OPC_CheckPredicate, 9,
27000
OPC_CheckFoldableChainNode,
27002
OPC_CheckType, MVT::v1i64,
27005
OPC_CheckType, MVT::v8i8,
27006
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27007
OPC_EmitMergeInputChains, 1, 1,
27008
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPGTBrm), 0|OPFL_Chain|OPFL_MemRefs,
27009
1, MVT::v8i8, 6, 0, 3, 4, 5, 6, 7,
27011
OPC_CheckPredicate, 4,
27012
OPC_CheckPredicate, 9,
27013
OPC_CheckPredicate, 24,
27016
OPC_CheckFoldableChainNode,
27019
OPC_CheckType, MVT::v16i8,
27020
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27021
OPC_EmitMergeInputChains, 1, 1,
27022
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTBrm), 0|OPFL_Chain|OPFL_MemRefs,
27023
1, MVT::v16i8, 6, 0, 3, 4, 5, 6, 7,
27027
OPC_SwitchType , 9, MVT::v16i8,
27028
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTBrr), 0,
27029
1, MVT::v16i8, 2, 0, 1,
27031
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPGTBrr), 0,
27032
1, MVT::v8i8, 2, 0, 1,
27035
107, X86ISD::PCMPGTW,
27039
OPC_SwitchOpcode , 37, ISD::BIT_CONVERT,
27041
OPC_CheckOpcode, ISD::LOAD,
27042
OPC_CheckPredicate, 4,
27043
OPC_CheckPredicate, 9,
27046
OPC_CheckFoldableChainNode,
27048
OPC_CheckType, MVT::v1i64,
27051
OPC_CheckType, MVT::v4i16,
27052
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27053
OPC_EmitMergeInputChains, 1, 1,
27054
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPGTWrm), 0|OPFL_Chain|OPFL_MemRefs,
27055
1, MVT::v4i16, 6, 0, 3, 4, 5, 6, 7,
27057
OPC_CheckPredicate, 4,
27058
OPC_CheckPredicate, 9,
27059
OPC_CheckPredicate, 24,
27062
OPC_CheckFoldableChainNode,
27065
OPC_CheckType, MVT::v8i16,
27066
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27067
OPC_EmitMergeInputChains, 1, 1,
27068
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTWrm), 0|OPFL_Chain|OPFL_MemRefs,
27069
1, MVT::v8i16, 6, 0, 3, 4, 5, 6, 7,
27073
OPC_SwitchType , 9, MVT::v8i16,
27074
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTWrr), 0,
27075
1, MVT::v8i16, 2, 0, 1,
27077
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPGTWrr), 0,
27078
1, MVT::v4i16, 2, 0, 1,
27081
107, X86ISD::PCMPGTD,
27085
OPC_SwitchOpcode , 37, ISD::BIT_CONVERT,
27087
OPC_CheckOpcode, ISD::LOAD,
27088
OPC_CheckPredicate, 4,
27089
OPC_CheckPredicate, 9,
27092
OPC_CheckFoldableChainNode,
27094
OPC_CheckType, MVT::v1i64,
27097
OPC_CheckType, MVT::v2i32,
27098
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27099
OPC_EmitMergeInputChains, 1, 1,
27100
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPGTDrm), 0|OPFL_Chain|OPFL_MemRefs,
27101
1, MVT::v2i32, 6, 0, 3, 4, 5, 6, 7,
27103
OPC_CheckPredicate, 4,
27104
OPC_CheckPredicate, 9,
27105
OPC_CheckPredicate, 24,
27108
OPC_CheckFoldableChainNode,
27111
OPC_CheckType, MVT::v4i32,
27112
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27113
OPC_EmitMergeInputChains, 1, 1,
27114
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTDrm), 0|OPFL_Chain|OPFL_MemRefs,
27115
1, MVT::v4i32, 6, 0, 3, 4, 5, 6, 7,
27119
OPC_SwitchType , 9, MVT::v4i32,
27120
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTDrr), 0,
27121
1, MVT::v4i32, 2, 0, 1,
27123
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PCMPGTDrr), 0,
27124
1, MVT::v2i32, 2, 0, 1,
27127
110, X86ISD::LCMPXCHG_DAG,
27129
OPC_CaptureFlagInput,
27133
OPC_CheckChild2Type, MVT::i32,
27135
OPC_CheckInteger, 4,
27137
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27138
OPC_EmitMergeInputChains, 1, 0,
27139
OPC_MorphNodeTo, TARGET_OPCODE(X86::LCMPXCHG32), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
27140
0, 6, 3, 4, 5, 6, 7, 2,
27142
OPC_CheckChild2Type, MVT::i16,
27144
OPC_CheckInteger, 2,
27146
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27147
OPC_EmitMergeInputChains, 1, 0,
27148
OPC_MorphNodeTo, TARGET_OPCODE(X86::LCMPXCHG16), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
27149
0, 6, 3, 4, 5, 6, 7, 2,
27151
OPC_CheckChild2Type, MVT::i8,
27153
OPC_CheckInteger, 1,
27155
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27156
OPC_EmitMergeInputChains, 1, 0,
27157
OPC_MorphNodeTo, TARGET_OPCODE(X86::LCMPXCHG8), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
27158
0, 6, 3, 4, 5, 6, 7, 2,
27160
OPC_CheckChild2Type, MVT::i64,
27162
OPC_CheckInteger, 8,
27164
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27165
OPC_EmitMergeInputChains, 1, 0,
27166
OPC_MorphNodeTo, TARGET_OPCODE(X86::LCMPXCHG64), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
27167
0, 6, 3, 4, 5, 6, 7, 2,
27169
7|128,1, ISD::INTRINSIC_W_CHAIN,
27173
OPC_CheckInteger, 59|128,5,
27176
OPC_CheckPatternPredicate, 0,
27177
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27178
OPC_EmitMergeInputChains, 1, 0,
27179
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPSrm_Int), 0|OPFL_Chain,
27180
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
27182
OPC_CheckInteger, 16|128,4,
27185
OPC_CheckPatternPredicate, 1,
27186
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27187
OPC_EmitMergeInputChains, 1, 0,
27188
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPDrm_Int), 0|OPFL_Chain,
27189
1, MVT::v2f64, 5, 2, 3, 4, 5, 6,
27191
OPC_CheckInteger, 15|128,4,
27194
OPC_CheckPatternPredicate, 1,
27195
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27196
OPC_EmitMergeInputChains, 1, 0,
27197
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDQUrm_Int), 0|OPFL_Chain,
27198
1, MVT::v16i8, 5, 2, 3, 4, 5, 6,
27200
OPC_CheckInteger, 95|128,4,
27203
OPC_CheckPatternPredicate, 9,
27204
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27205
OPC_EmitMergeInputChains, 1, 0,
27206
OPC_MorphNodeTo, TARGET_OPCODE(X86::LDDQUrm), 0|OPFL_Chain,
27207
1, MVT::v16i8, 5, 2, 3, 4, 5, 6,
27209
OPC_CheckInteger, 106|128,4,
27212
OPC_CheckPatternPredicate, 4,
27213
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27214
OPC_EmitMergeInputChains, 1, 0,
27215
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVNTDQArm), 0|OPFL_Chain,
27216
1, MVT::v2i64, 5, 2, 3, 4, 5, 6,
27218
41|128,4, ISD::INTRINSIC_VOID,
27222
OPC_CheckInteger, 75|128,5,
27226
OPC_CheckPatternPredicate, 0,
27227
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27228
OPC_EmitMergeInputChains, 1, 0,
27229
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPSmr_Int), 0|OPFL_Chain,
27230
0, 6, 3, 4, 5, 6, 7, 2,
27232
OPC_CheckInteger, 65|128,5,
27236
OPC_CheckPatternPredicate, 0,
27237
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27238
OPC_EmitMergeInputChains, 1, 0,
27239
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVNTPSmr_Int), 0|OPFL_Chain,
27240
0, 6, 3, 4, 5, 6, 7, 2,
27242
OPC_CheckInteger, 58|128,5,
27245
OPC_CheckPatternPredicate, 0,
27246
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27247
OPC_EmitMergeInputChains, 1, 0,
27248
OPC_MorphNodeTo, TARGET_OPCODE(X86::LDMXCSR), 0|OPFL_Chain,
27249
0, 5, 2, 3, 4, 5, 6,
27251
OPC_CheckInteger, 74|128,5,
27254
OPC_CheckPatternPredicate, 0,
27255
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27256
OPC_EmitMergeInputChains, 1, 0,
27257
OPC_MorphNodeTo, TARGET_OPCODE(X86::STMXCSR), 0|OPFL_Chain,
27258
0, 5, 2, 3, 4, 5, 6,
27260
OPC_CheckInteger, 81|128,4,
27264
OPC_CheckPatternPredicate, 1,
27265
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27266
OPC_EmitMergeInputChains, 1, 0,
27267
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVUPDmr_Int), 0|OPFL_Chain,
27268
0, 6, 3, 4, 5, 6, 7, 2,
27270
OPC_CheckInteger, 80|128,4,
27274
OPC_CheckPatternPredicate, 1,
27275
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27276
OPC_EmitMergeInputChains, 1, 0,
27277
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDQUmr_Int), 0|OPFL_Chain,
27278
0, 6, 3, 4, 5, 6, 7, 2,
27280
OPC_CheckInteger, 26|128,4,
27284
OPC_CheckPatternPredicate, 1,
27285
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27286
OPC_EmitMergeInputChains, 1, 0,
27287
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVNTPDmr_Int), 0|OPFL_Chain,
27288
0, 6, 3, 4, 5, 6, 7, 2,
27290
OPC_CheckInteger, 24|128,4,
27294
OPC_CheckPatternPredicate, 1,
27295
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27296
OPC_EmitMergeInputChains, 1, 0,
27297
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVNTDQmr_Int), 0|OPFL_Chain,
27298
0, 6, 3, 4, 5, 6, 7, 2,
27300
OPC_CheckInteger, 25|128,4,
27304
OPC_CheckPatternPredicate, 1,
27305
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27306
OPC_EmitMergeInputChains, 1, 0,
27307
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVNTImr_Int), 0|OPFL_Chain,
27308
0, 6, 3, 4, 5, 6, 7, 2,
27310
OPC_CheckInteger, 116|128,3,
27313
OPC_CheckPatternPredicate, 1,
27314
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27315
OPC_EmitMergeInputChains, 1, 0,
27316
OPC_MorphNodeTo, TARGET_OPCODE(X86::CLFLUSH), 0|OPFL_Chain,
27317
0, 5, 2, 3, 4, 5, 6,
27319
OPC_CheckInteger, 79|128,4,
27323
OPC_CheckPatternPredicate, 1,
27324
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27325
OPC_EmitMergeInputChains, 1, 0,
27326
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVLQ128mr), 0|OPFL_Chain,
27327
0, 6, 3, 4, 5, 6, 7, 2,
27329
OPC_CheckInteger, 69|128,3,
27333
OPC_CheckPatternPredicate, 8,
27334
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27335
OPC_EmitMergeInputChains, 1, 0,
27336
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVNTQmr), 0|OPFL_Chain,
27337
0, 6, 3, 4, 5, 6, 7, 2,
27339
OPC_CheckInteger, 71|128,5,
27341
OPC_CheckPatternPredicate, 0,
27342
OPC_EmitMergeInputChains, 1, 0,
27343
OPC_MorphNodeTo, TARGET_OPCODE(X86::SFENCE), 0|OPFL_Chain,
27346
OPC_CheckInteger, 17|128,4,
27352
OPC_CheckChild4Type, MVT::i32,
27353
OPC_CheckPatternPredicate, 1,
27354
OPC_EmitMergeInputChains, 1, 0,
27355
OPC_EmitCopyToReg, 3, X86::EDI,
27356
OPC_MorphNodeTo, TARGET_OPCODE(X86::MASKMOVDQU), 0|OPFL_Chain|OPFL_FlagInput,
27359
OPC_CheckChild4Type, MVT::i64,
27360
OPC_CheckPatternPredicate, 1,
27361
OPC_EmitMergeInputChains, 1, 0,
27362
OPC_EmitCopyToReg, 3, X86::RDI,
27363
OPC_MorphNodeTo, TARGET_OPCODE(X86::MASKMOVDQU64), 0|OPFL_Chain|OPFL_FlagInput,
27367
OPC_CheckInteger, 14|128,4,
27369
OPC_CheckPatternPredicate, 1,
27370
OPC_EmitMergeInputChains, 1, 0,
27371
OPC_MorphNodeTo, TARGET_OPCODE(X86::LFENCE), 0|OPFL_Chain,
27374
OPC_CheckInteger, 20|128,4,
27376
OPC_CheckPatternPredicate, 1,
27377
OPC_EmitMergeInputChains, 1, 0,
27378
OPC_MorphNodeTo, TARGET_OPCODE(X86::MFENCE), 0|OPFL_Chain,
27381
OPC_CheckInteger, 96|128,4,
27384
OPC_CheckChild2Type, MVT::i32,
27387
OPC_CheckPatternPredicate, 9,
27388
OPC_EmitMergeInputChains, 1, 0,
27389
OPC_EmitCopyToReg, 1, X86::EAX,
27390
OPC_EmitCopyToReg, 2, X86::ECX,
27391
OPC_EmitCopyToReg, 3, X86::EDX,
27392
OPC_MorphNodeTo, TARGET_OPCODE(X86::MONITOR), 0|OPFL_Chain|OPFL_FlagInput,
27395
OPC_CheckInteger, 97|128,4,
27399
OPC_CheckPatternPredicate, 9,
27400
OPC_EmitMergeInputChains, 1, 0,
27401
OPC_EmitCopyToReg, 1, X86::ECX,
27402
OPC_EmitCopyToReg, 2, X86::EAX,
27403
OPC_MorphNodeTo, TARGET_OPCODE(X86::MWAIT), 0|OPFL_Chain|OPFL_FlagInput,
27406
OPC_CheckInteger, 66|128,3,
27408
OPC_CheckPatternPredicate, 8,
27409
OPC_EmitMergeInputChains, 1, 0,
27410
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_EMMS), 0|OPFL_Chain,
27413
OPC_CheckInteger, 67|128,3,
27415
OPC_CheckPatternPredicate, 8,
27416
OPC_EmitMergeInputChains, 1, 0,
27417
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_FEMMS), 0|OPFL_Chain,
27420
OPC_CheckInteger, 68|128,3,
27426
OPC_CheckChild4Type, MVT::i32,
27427
OPC_CheckPatternPredicate, 8,
27428
OPC_EmitMergeInputChains, 1, 0,
27429
OPC_EmitCopyToReg, 3, X86::EDI,
27430
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MASKMOVQ), 0|OPFL_Chain|OPFL_FlagInput,
27433
OPC_CheckChild4Type, MVT::i64,
27434
OPC_CheckPatternPredicate, 15,
27435
OPC_EmitMergeInputChains, 1, 0,
27436
OPC_EmitCopyToReg, 3, X86::RDI,
27437
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MASKMOVQ64), 0|OPFL_Chain|OPFL_FlagInput,
27441
22|128,8, ISD::FADD,
27442
OPC_Scope, 27|128,1,
27445
OPC_CheckOpcode, ISD::LOAD,
27446
OPC_CheckPredicate, 4,
27448
OPC_CheckPredicate, 9,
27449
OPC_CheckPredicate, 10,
27452
OPC_CheckFoldableChainNode,
27455
OPC_SwitchType , 21, MVT::f32,
27456
OPC_CheckPatternPredicate, 6,
27457
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27458
OPC_EmitMergeInputChains, 1, 1,
27459
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_Fp32m), 0|OPFL_Chain|OPFL_MemRefs,
27460
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
27462
OPC_CheckPatternPredicate, 7,
27463
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27464
OPC_EmitMergeInputChains, 1, 1,
27465
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_Fp64m), 0|OPFL_Chain|OPFL_MemRefs,
27466
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
27469
OPC_CheckPredicate, 48,
27471
OPC_CheckPredicate, 49,
27474
OPC_CheckFoldableChainNode,
27477
OPC_SwitchType , 21, MVT::f64,
27478
OPC_CheckPatternPredicate, 7,
27479
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27480
OPC_EmitMergeInputChains, 1, 1,
27481
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_Fp64m32), 0|OPFL_Chain|OPFL_MemRefs,
27482
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
27484
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27485
OPC_EmitMergeInputChains, 1, 1,
27486
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_Fp80m32), 0|OPFL_Chain|OPFL_MemRefs,
27487
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
27490
OPC_CheckPredicate, 50,
27493
OPC_CheckFoldableChainNode,
27496
OPC_CheckType, MVT::f80,
27497
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27498
OPC_EmitMergeInputChains, 1, 1,
27499
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_Fp80m64), 0|OPFL_Chain|OPFL_MemRefs,
27500
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
27505
OPC_CheckOpcode, ISD::LOAD,
27506
OPC_CheckPredicate, 4,
27508
OPC_CheckPredicate, 9,
27509
OPC_CheckPredicate, 10,
27512
OPC_CheckFoldableChainNode,
27516
OPC_SwitchType , 21, MVT::f32,
27517
OPC_CheckPatternPredicate, 6,
27518
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27519
OPC_EmitMergeInputChains, 1, 0,
27520
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_Fp32m), 0|OPFL_Chain|OPFL_MemRefs,
27521
1, MVT::f32, 6, 2, 3, 4, 5, 6, 7,
27523
OPC_CheckPatternPredicate, 7,
27524
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27525
OPC_EmitMergeInputChains, 1, 0,
27526
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_Fp64m), 0|OPFL_Chain|OPFL_MemRefs,
27527
1, MVT::f64, 6, 2, 3, 4, 5, 6, 7,
27530
OPC_CheckPredicate, 48,
27532
OPC_CheckPredicate, 49,
27535
OPC_CheckFoldableChainNode,
27539
OPC_SwitchType , 21, MVT::f64,
27540
OPC_CheckPatternPredicate, 7,
27541
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27542
OPC_EmitMergeInputChains, 1, 0,
27543
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_Fp64m32), 0|OPFL_Chain|OPFL_MemRefs,
27544
1, MVT::f64, 6, 2, 3, 4, 5, 6, 7,
27546
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27547
OPC_EmitMergeInputChains, 1, 0,
27548
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_Fp80m32), 0|OPFL_Chain|OPFL_MemRefs,
27549
1, MVT::f80, 6, 2, 3, 4, 5, 6, 7,
27552
OPC_CheckPredicate, 50,
27555
OPC_CheckFoldableChainNode,
27559
OPC_CheckType, MVT::f80,
27560
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27561
OPC_EmitMergeInputChains, 1, 0,
27562
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_Fp80m64), 0|OPFL_Chain|OPFL_MemRefs,
27563
1, MVT::f80, 6, 2, 3, 4, 5, 6, 7,
27569
OPC_CheckOpcode, ISD::LOAD,
27570
OPC_CheckPredicate, 4,
27571
OPC_CheckPredicate, 9,
27575
OPC_CheckFoldableChainNode,
27578
OPC_CheckType, MVT::f32,
27579
OPC_CheckPatternPredicate, 0,
27580
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27581
OPC_EmitMergeInputChains, 1, 1,
27582
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSSrm), 0|OPFL_Chain|OPFL_MemRefs,
27583
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
27585
OPC_CheckPredicate, 24,
27588
OPC_CheckFoldableChainNode,
27591
OPC_CheckType, MVT::v4f32,
27592
OPC_CheckPatternPredicate, 0,
27593
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27594
OPC_EmitMergeInputChains, 1, 1,
27595
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDPSrm), 0|OPFL_Chain|OPFL_MemRefs,
27596
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
27600
OPC_CheckFoldableChainNode,
27603
OPC_CheckType, MVT::f64,
27604
OPC_CheckPatternPredicate, 1,
27605
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27606
OPC_EmitMergeInputChains, 1, 1,
27607
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSDrm), 0|OPFL_Chain|OPFL_MemRefs,
27608
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
27610
OPC_CheckPredicate, 24,
27613
OPC_CheckFoldableChainNode,
27616
OPC_CheckType, MVT::v2f64,
27617
OPC_CheckPatternPredicate, 1,
27618
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27619
OPC_EmitMergeInputChains, 1, 1,
27620
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDPDrm), 0|OPFL_Chain|OPFL_MemRefs,
27621
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
27625
OPC_CheckOpcode, ISD::LOAD,
27626
OPC_CheckPredicate, 4,
27627
OPC_CheckPredicate, 9,
27631
OPC_CheckFoldableChainNode,
27635
OPC_CheckType, MVT::f32,
27636
OPC_CheckPatternPredicate, 0,
27637
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27638
OPC_EmitMergeInputChains, 1, 0,
27639
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSSrm), 0|OPFL_Chain|OPFL_MemRefs,
27640
1, MVT::f32, 6, 2, 3, 4, 5, 6, 7,
27642
OPC_CheckPredicate, 24,
27645
OPC_CheckFoldableChainNode,
27649
OPC_CheckType, MVT::v4f32,
27650
OPC_CheckPatternPredicate, 0,
27651
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27652
OPC_EmitMergeInputChains, 1, 0,
27653
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDPSrm), 0|OPFL_Chain|OPFL_MemRefs,
27654
1, MVT::v4f32, 6, 2, 3, 4, 5, 6, 7,
27658
OPC_CheckFoldableChainNode,
27662
OPC_CheckType, MVT::f64,
27663
OPC_CheckPatternPredicate, 1,
27664
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27665
OPC_EmitMergeInputChains, 1, 0,
27666
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSDrm), 0|OPFL_Chain|OPFL_MemRefs,
27667
1, MVT::f64, 6, 2, 3, 4, 5, 6, 7,
27669
OPC_CheckPredicate, 24,
27672
OPC_CheckFoldableChainNode,
27676
OPC_CheckType, MVT::v2f64,
27677
OPC_CheckPatternPredicate, 1,
27678
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27679
OPC_EmitMergeInputChains, 1, 0,
27680
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDPDrm), 0|OPFL_Chain|OPFL_MemRefs,
27681
1, MVT::v2f64, 6, 2, 3, 4, 5, 6, 7,
27686
OPC_CheckOpcode, X86ISD::FILD,
27688
OPC_CheckFoldableChainNode,
27692
OPC_CheckValueType, MVT::i16,
27695
OPC_CheckType, MVT::f32,
27696
OPC_CheckPatternPredicate, 6,
27697
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27698
OPC_EmitMergeInputChains, 1, 1,
27699
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_FpI16m32), 0|OPFL_Chain,
27700
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
27702
OPC_CheckValueType, MVT::i32,
27705
OPC_CheckType, MVT::f32,
27706
OPC_CheckPatternPredicate, 6,
27707
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27708
OPC_EmitMergeInputChains, 1, 1,
27709
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_FpI32m32), 0|OPFL_Chain,
27710
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
27712
OPC_CheckValueType, MVT::i16,
27715
OPC_CheckType, MVT::f64,
27716
OPC_CheckPatternPredicate, 7,
27717
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27718
OPC_EmitMergeInputChains, 1, 1,
27719
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_FpI16m64), 0|OPFL_Chain,
27720
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
27722
OPC_CheckValueType, MVT::i32,
27725
OPC_CheckType, MVT::f64,
27726
OPC_CheckPatternPredicate, 7,
27727
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27728
OPC_EmitMergeInputChains, 1, 1,
27729
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_FpI32m64), 0|OPFL_Chain,
27730
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
27732
OPC_CheckValueType, MVT::i16,
27735
OPC_CheckType, MVT::f80,
27736
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27737
OPC_EmitMergeInputChains, 1, 1,
27738
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_FpI16m80), 0|OPFL_Chain,
27739
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
27741
OPC_CheckValueType, MVT::i32,
27744
OPC_CheckType, MVT::f80,
27745
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27746
OPC_EmitMergeInputChains, 1, 1,
27747
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_FpI32m80), 0|OPFL_Chain,
27748
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
27752
OPC_CheckOpcode, X86ISD::FILD,
27754
OPC_CheckFoldableChainNode,
27758
OPC_CheckValueType, MVT::i16,
27762
OPC_CheckType, MVT::f32,
27763
OPC_CheckPatternPredicate, 6,
27764
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27765
OPC_EmitMergeInputChains, 1, 0,
27766
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_FpI16m32), 0|OPFL_Chain,
27767
1, MVT::f32, 6, 2, 3, 4, 5, 6, 7,
27769
OPC_CheckValueType, MVT::i32,
27773
OPC_CheckType, MVT::f32,
27774
OPC_CheckPatternPredicate, 6,
27775
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27776
OPC_EmitMergeInputChains, 1, 0,
27777
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_FpI32m32), 0|OPFL_Chain,
27778
1, MVT::f32, 6, 2, 3, 4, 5, 6, 7,
27780
OPC_CheckValueType, MVT::i16,
27784
OPC_CheckType, MVT::f64,
27785
OPC_CheckPatternPredicate, 7,
27786
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27787
OPC_EmitMergeInputChains, 1, 0,
27788
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_FpI16m64), 0|OPFL_Chain,
27789
1, MVT::f64, 6, 2, 3, 4, 5, 6, 7,
27791
OPC_CheckValueType, MVT::i32,
27795
OPC_CheckType, MVT::f64,
27796
OPC_CheckPatternPredicate, 7,
27797
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27798
OPC_EmitMergeInputChains, 1, 0,
27799
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_FpI32m64), 0|OPFL_Chain,
27800
1, MVT::f64, 6, 2, 3, 4, 5, 6, 7,
27802
OPC_CheckValueType, MVT::i16,
27806
OPC_CheckType, MVT::f80,
27807
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27808
OPC_EmitMergeInputChains, 1, 0,
27809
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_FpI16m80), 0|OPFL_Chain,
27810
1, MVT::f80, 6, 2, 3, 4, 5, 6, 7,
27812
OPC_CheckValueType, MVT::i32,
27816
OPC_CheckType, MVT::f80,
27817
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
27818
OPC_EmitMergeInputChains, 1, 0,
27819
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_FpI32m80), 0|OPFL_Chain,
27820
1, MVT::f80, 6, 2, 3, 4, 5, 6, 7,
27825
OPC_SwitchType , 26, MVT::f32,
27827
OPC_CheckPatternPredicate, 6,
27828
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_Fp32), 0,
27829
1, MVT::f32, 2, 0, 1,
27831
OPC_CheckPatternPredicate, 0,
27832
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSSrr), 0,
27833
1, MVT::f32, 2, 0, 1,
27837
OPC_CheckPatternPredicate, 7,
27838
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_Fp64), 0,
27839
1, MVT::f64, 2, 0, 1,
27841
OPC_CheckPatternPredicate, 1,
27842
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDSDrr), 0,
27843
1, MVT::f64, 2, 0, 1,
27846
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD_Fp80), 0,
27847
1, MVT::f80, 2, 0, 1,
27849
OPC_CheckPatternPredicate, 0,
27850
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDPSrr), 0,
27851
1, MVT::v4f32, 2, 0, 1,
27853
OPC_CheckPatternPredicate, 1,
27854
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADDPDrr), 0,
27855
1, MVT::v2f64, 2, 0, 1,
27858
100|128,6, ISD::FSUB,
27860
OPC_Scope, 126|128,5,
27862
OPC_SwitchOpcode , 37|128,3, ISD::LOAD,
27863
OPC_CheckPredicate, 4,
27865
OPC_CheckPredicate, 9,
27866
OPC_CheckPredicate, 10,
27869
OPC_CheckFoldableChainNode,
27872
OPC_SwitchType , 21, MVT::f32,
27873
OPC_CheckPatternPredicate, 6,
27874
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27875
OPC_EmitMergeInputChains, 1, 1,
27876
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_Fp32m), 0|OPFL_Chain|OPFL_MemRefs,
27877
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
27879
OPC_CheckPatternPredicate, 7,
27880
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27881
OPC_EmitMergeInputChains, 1, 1,
27882
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_Fp64m), 0|OPFL_Chain|OPFL_MemRefs,
27883
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
27886
OPC_CheckPredicate, 48,
27888
OPC_CheckPredicate, 49,
27891
OPC_CheckFoldableChainNode,
27894
OPC_SwitchType , 21, MVT::f64,
27895
OPC_CheckPatternPredicate, 7,
27896
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27897
OPC_EmitMergeInputChains, 1, 1,
27898
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_Fp64m32), 0|OPFL_Chain|OPFL_MemRefs,
27899
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
27901
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27902
OPC_EmitMergeInputChains, 1, 1,
27903
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_Fp80m32), 0|OPFL_Chain|OPFL_MemRefs,
27904
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
27907
OPC_CheckPredicate, 50,
27910
OPC_CheckFoldableChainNode,
27913
OPC_CheckType, MVT::f80,
27914
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27915
OPC_EmitMergeInputChains, 1, 1,
27916
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_Fp80m64), 0|OPFL_Chain|OPFL_MemRefs,
27917
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
27920
OPC_CheckPredicate, 9,
27921
OPC_CheckPredicate, 10,
27924
OPC_CheckFoldableChainNode,
27927
OPC_SwitchType , 21, MVT::f32,
27928
OPC_CheckPatternPredicate, 6,
27929
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27930
OPC_EmitMergeInputChains, 1, 1,
27931
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBR_Fp32m), 0|OPFL_Chain|OPFL_MemRefs,
27932
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
27934
OPC_CheckPatternPredicate, 7,
27935
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27936
OPC_EmitMergeInputChains, 1, 1,
27937
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBR_Fp64m), 0|OPFL_Chain|OPFL_MemRefs,
27938
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
27941
OPC_CheckPredicate, 48,
27943
OPC_CheckPredicate, 49,
27946
OPC_CheckFoldableChainNode,
27949
OPC_SwitchType , 21, MVT::f64,
27950
OPC_CheckPatternPredicate, 7,
27951
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27952
OPC_EmitMergeInputChains, 1, 1,
27953
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBR_Fp64m32), 0|OPFL_Chain|OPFL_MemRefs,
27954
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
27956
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27957
OPC_EmitMergeInputChains, 1, 1,
27958
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBR_Fp80m32), 0|OPFL_Chain|OPFL_MemRefs,
27959
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
27962
OPC_CheckPredicate, 50,
27965
OPC_CheckFoldableChainNode,
27968
OPC_CheckType, MVT::f80,
27969
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27970
OPC_EmitMergeInputChains, 1, 1,
27971
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBR_Fp80m64), 0|OPFL_Chain|OPFL_MemRefs,
27972
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
27975
OPC_CheckPredicate, 9,
27979
OPC_CheckFoldableChainNode,
27982
OPC_CheckType, MVT::f32,
27983
OPC_CheckPatternPredicate, 0,
27984
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27985
OPC_EmitMergeInputChains, 1, 1,
27986
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBSSrm), 0|OPFL_Chain|OPFL_MemRefs,
27987
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
27989
OPC_CheckPredicate, 24,
27992
OPC_CheckFoldableChainNode,
27995
OPC_CheckType, MVT::v4f32,
27996
OPC_CheckPatternPredicate, 0,
27997
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
27998
OPC_EmitMergeInputChains, 1, 1,
27999
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBPSrm), 0|OPFL_Chain|OPFL_MemRefs,
28000
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
28004
OPC_CheckFoldableChainNode,
28007
OPC_CheckType, MVT::f64,
28008
OPC_CheckPatternPredicate, 1,
28009
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28010
OPC_EmitMergeInputChains, 1, 1,
28011
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBSDrm), 0|OPFL_Chain|OPFL_MemRefs,
28012
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28014
OPC_CheckPredicate, 24,
28017
OPC_CheckFoldableChainNode,
28020
OPC_CheckType, MVT::v2f64,
28021
OPC_CheckPatternPredicate, 1,
28022
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28023
OPC_EmitMergeInputChains, 1, 1,
28024
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBPDrm), 0|OPFL_Chain|OPFL_MemRefs,
28025
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
28028
79|128,2, X86ISD::FILD,
28030
OPC_CheckFoldableChainNode,
28034
OPC_CheckValueType, MVT::i16,
28037
OPC_CheckType, MVT::f32,
28038
OPC_CheckPatternPredicate, 6,
28039
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28040
OPC_EmitMergeInputChains, 1, 1,
28041
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_FpI16m32), 0|OPFL_Chain,
28042
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28044
OPC_CheckValueType, MVT::i32,
28047
OPC_CheckType, MVT::f32,
28048
OPC_CheckPatternPredicate, 6,
28049
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28050
OPC_EmitMergeInputChains, 1, 1,
28051
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_FpI32m32), 0|OPFL_Chain,
28052
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28054
OPC_CheckValueType, MVT::i16,
28057
OPC_CheckType, MVT::f64,
28058
OPC_CheckPatternPredicate, 7,
28059
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28060
OPC_EmitMergeInputChains, 1, 1,
28061
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_FpI16m64), 0|OPFL_Chain,
28062
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28064
OPC_CheckValueType, MVT::i32,
28067
OPC_CheckType, MVT::f64,
28068
OPC_CheckPatternPredicate, 7,
28069
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28070
OPC_EmitMergeInputChains, 1, 1,
28071
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_FpI32m64), 0|OPFL_Chain,
28072
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28074
OPC_CheckValueType, MVT::i16,
28077
OPC_CheckType, MVT::f80,
28078
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28079
OPC_EmitMergeInputChains, 1, 1,
28080
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_FpI16m80), 0|OPFL_Chain,
28081
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28083
OPC_CheckValueType, MVT::i32,
28086
OPC_CheckType, MVT::f80,
28087
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28088
OPC_EmitMergeInputChains, 1, 1,
28089
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_FpI32m80), 0|OPFL_Chain,
28090
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28092
OPC_CheckValueType, MVT::i16,
28095
OPC_CheckType, MVT::f32,
28096
OPC_CheckPatternPredicate, 6,
28097
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28098
OPC_EmitMergeInputChains, 1, 1,
28099
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBR_FpI16m32), 0|OPFL_Chain,
28100
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28102
OPC_CheckValueType, MVT::i32,
28105
OPC_CheckType, MVT::f32,
28106
OPC_CheckPatternPredicate, 6,
28107
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28108
OPC_EmitMergeInputChains, 1, 1,
28109
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBR_FpI32m32), 0|OPFL_Chain,
28110
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28112
OPC_CheckValueType, MVT::i16,
28115
OPC_CheckType, MVT::f64,
28116
OPC_CheckPatternPredicate, 7,
28117
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28118
OPC_EmitMergeInputChains, 1, 1,
28119
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBR_FpI16m64), 0|OPFL_Chain,
28120
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28122
OPC_CheckValueType, MVT::i32,
28125
OPC_CheckType, MVT::f64,
28126
OPC_CheckPatternPredicate, 7,
28127
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28128
OPC_EmitMergeInputChains, 1, 1,
28129
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBR_FpI32m64), 0|OPFL_Chain,
28130
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28132
OPC_CheckValueType, MVT::i16,
28135
OPC_CheckType, MVT::f80,
28136
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28137
OPC_EmitMergeInputChains, 1, 1,
28138
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBR_FpI16m80), 0|OPFL_Chain,
28139
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28141
OPC_CheckValueType, MVT::i32,
28144
OPC_CheckType, MVT::f80,
28145
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28146
OPC_EmitMergeInputChains, 1, 1,
28147
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBR_FpI32m80), 0|OPFL_Chain,
28148
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28153
OPC_SwitchType , 26, MVT::f32,
28155
OPC_CheckPatternPredicate, 6,
28156
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_Fp32), 0,
28157
1, MVT::f32, 2, 0, 1,
28159
OPC_CheckPatternPredicate, 0,
28160
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBSSrr), 0,
28161
1, MVT::f32, 2, 0, 1,
28165
OPC_CheckPatternPredicate, 7,
28166
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_Fp64), 0,
28167
1, MVT::f64, 2, 0, 1,
28169
OPC_CheckPatternPredicate, 1,
28170
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBSDrr), 0,
28171
1, MVT::f64, 2, 0, 1,
28174
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB_Fp80), 0,
28175
1, MVT::f80, 2, 0, 1,
28177
OPC_CheckPatternPredicate, 0,
28178
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBPSrr), 0,
28179
1, MVT::v4f32, 2, 0, 1,
28181
OPC_CheckPatternPredicate, 1,
28182
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUBPDrr), 0,
28183
1, MVT::v2f64, 2, 0, 1,
28186
22|128,8, ISD::FMUL,
28187
OPC_Scope, 27|128,1,
28190
OPC_CheckOpcode, ISD::LOAD,
28191
OPC_CheckPredicate, 4,
28193
OPC_CheckPredicate, 9,
28194
OPC_CheckPredicate, 10,
28197
OPC_CheckFoldableChainNode,
28200
OPC_SwitchType , 21, MVT::f32,
28201
OPC_CheckPatternPredicate, 6,
28202
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28203
OPC_EmitMergeInputChains, 1, 1,
28204
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_Fp32m), 0|OPFL_Chain|OPFL_MemRefs,
28205
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28207
OPC_CheckPatternPredicate, 7,
28208
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28209
OPC_EmitMergeInputChains, 1, 1,
28210
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_Fp64m), 0|OPFL_Chain|OPFL_MemRefs,
28211
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28214
OPC_CheckPredicate, 48,
28216
OPC_CheckPredicate, 49,
28219
OPC_CheckFoldableChainNode,
28222
OPC_SwitchType , 21, MVT::f64,
28223
OPC_CheckPatternPredicate, 7,
28224
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28225
OPC_EmitMergeInputChains, 1, 1,
28226
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_Fp64m32), 0|OPFL_Chain|OPFL_MemRefs,
28227
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28229
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28230
OPC_EmitMergeInputChains, 1, 1,
28231
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_Fp80m32), 0|OPFL_Chain|OPFL_MemRefs,
28232
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28235
OPC_CheckPredicate, 50,
28238
OPC_CheckFoldableChainNode,
28241
OPC_CheckType, MVT::f80,
28242
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28243
OPC_EmitMergeInputChains, 1, 1,
28244
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_Fp80m64), 0|OPFL_Chain|OPFL_MemRefs,
28245
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28250
OPC_CheckOpcode, ISD::LOAD,
28251
OPC_CheckPredicate, 4,
28253
OPC_CheckPredicate, 9,
28254
OPC_CheckPredicate, 10,
28257
OPC_CheckFoldableChainNode,
28261
OPC_SwitchType , 21, MVT::f32,
28262
OPC_CheckPatternPredicate, 6,
28263
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28264
OPC_EmitMergeInputChains, 1, 0,
28265
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_Fp32m), 0|OPFL_Chain|OPFL_MemRefs,
28266
1, MVT::f32, 6, 2, 3, 4, 5, 6, 7,
28268
OPC_CheckPatternPredicate, 7,
28269
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28270
OPC_EmitMergeInputChains, 1, 0,
28271
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_Fp64m), 0|OPFL_Chain|OPFL_MemRefs,
28272
1, MVT::f64, 6, 2, 3, 4, 5, 6, 7,
28275
OPC_CheckPredicate, 48,
28277
OPC_CheckPredicate, 49,
28280
OPC_CheckFoldableChainNode,
28284
OPC_SwitchType , 21, MVT::f64,
28285
OPC_CheckPatternPredicate, 7,
28286
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28287
OPC_EmitMergeInputChains, 1, 0,
28288
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_Fp64m32), 0|OPFL_Chain|OPFL_MemRefs,
28289
1, MVT::f64, 6, 2, 3, 4, 5, 6, 7,
28291
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28292
OPC_EmitMergeInputChains, 1, 0,
28293
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_Fp80m32), 0|OPFL_Chain|OPFL_MemRefs,
28294
1, MVT::f80, 6, 2, 3, 4, 5, 6, 7,
28297
OPC_CheckPredicate, 50,
28300
OPC_CheckFoldableChainNode,
28304
OPC_CheckType, MVT::f80,
28305
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28306
OPC_EmitMergeInputChains, 1, 0,
28307
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_Fp80m64), 0|OPFL_Chain|OPFL_MemRefs,
28308
1, MVT::f80, 6, 2, 3, 4, 5, 6, 7,
28314
OPC_CheckOpcode, ISD::LOAD,
28315
OPC_CheckPredicate, 4,
28316
OPC_CheckPredicate, 9,
28320
OPC_CheckFoldableChainNode,
28323
OPC_CheckType, MVT::f32,
28324
OPC_CheckPatternPredicate, 0,
28325
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28326
OPC_EmitMergeInputChains, 1, 1,
28327
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULSSrm), 0|OPFL_Chain|OPFL_MemRefs,
28328
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28330
OPC_CheckPredicate, 24,
28333
OPC_CheckFoldableChainNode,
28336
OPC_CheckType, MVT::v4f32,
28337
OPC_CheckPatternPredicate, 0,
28338
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28339
OPC_EmitMergeInputChains, 1, 1,
28340
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULPSrm), 0|OPFL_Chain|OPFL_MemRefs,
28341
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
28345
OPC_CheckFoldableChainNode,
28348
OPC_CheckType, MVT::f64,
28349
OPC_CheckPatternPredicate, 1,
28350
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28351
OPC_EmitMergeInputChains, 1, 1,
28352
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULSDrm), 0|OPFL_Chain|OPFL_MemRefs,
28353
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28355
OPC_CheckPredicate, 24,
28358
OPC_CheckFoldableChainNode,
28361
OPC_CheckType, MVT::v2f64,
28362
OPC_CheckPatternPredicate, 1,
28363
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28364
OPC_EmitMergeInputChains, 1, 1,
28365
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULPDrm), 0|OPFL_Chain|OPFL_MemRefs,
28366
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
28370
OPC_CheckOpcode, ISD::LOAD,
28371
OPC_CheckPredicate, 4,
28372
OPC_CheckPredicate, 9,
28376
OPC_CheckFoldableChainNode,
28380
OPC_CheckType, MVT::f32,
28381
OPC_CheckPatternPredicate, 0,
28382
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28383
OPC_EmitMergeInputChains, 1, 0,
28384
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULSSrm), 0|OPFL_Chain|OPFL_MemRefs,
28385
1, MVT::f32, 6, 2, 3, 4, 5, 6, 7,
28387
OPC_CheckPredicate, 24,
28390
OPC_CheckFoldableChainNode,
28394
OPC_CheckType, MVT::v4f32,
28395
OPC_CheckPatternPredicate, 0,
28396
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28397
OPC_EmitMergeInputChains, 1, 0,
28398
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULPSrm), 0|OPFL_Chain|OPFL_MemRefs,
28399
1, MVT::v4f32, 6, 2, 3, 4, 5, 6, 7,
28403
OPC_CheckFoldableChainNode,
28407
OPC_CheckType, MVT::f64,
28408
OPC_CheckPatternPredicate, 1,
28409
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28410
OPC_EmitMergeInputChains, 1, 0,
28411
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULSDrm), 0|OPFL_Chain|OPFL_MemRefs,
28412
1, MVT::f64, 6, 2, 3, 4, 5, 6, 7,
28414
OPC_CheckPredicate, 24,
28417
OPC_CheckFoldableChainNode,
28421
OPC_CheckType, MVT::v2f64,
28422
OPC_CheckPatternPredicate, 1,
28423
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28424
OPC_EmitMergeInputChains, 1, 0,
28425
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULPDrm), 0|OPFL_Chain|OPFL_MemRefs,
28426
1, MVT::v2f64, 6, 2, 3, 4, 5, 6, 7,
28431
OPC_CheckOpcode, X86ISD::FILD,
28433
OPC_CheckFoldableChainNode,
28437
OPC_CheckValueType, MVT::i16,
28440
OPC_CheckType, MVT::f32,
28441
OPC_CheckPatternPredicate, 6,
28442
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28443
OPC_EmitMergeInputChains, 1, 1,
28444
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_FpI16m32), 0|OPFL_Chain,
28445
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28447
OPC_CheckValueType, MVT::i32,
28450
OPC_CheckType, MVT::f32,
28451
OPC_CheckPatternPredicate, 6,
28452
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28453
OPC_EmitMergeInputChains, 1, 1,
28454
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_FpI32m32), 0|OPFL_Chain,
28455
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28457
OPC_CheckValueType, MVT::i16,
28460
OPC_CheckType, MVT::f64,
28461
OPC_CheckPatternPredicate, 7,
28462
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28463
OPC_EmitMergeInputChains, 1, 1,
28464
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_FpI16m64), 0|OPFL_Chain,
28465
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28467
OPC_CheckValueType, MVT::i32,
28470
OPC_CheckType, MVT::f64,
28471
OPC_CheckPatternPredicate, 7,
28472
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28473
OPC_EmitMergeInputChains, 1, 1,
28474
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_FpI32m64), 0|OPFL_Chain,
28475
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28477
OPC_CheckValueType, MVT::i16,
28480
OPC_CheckType, MVT::f80,
28481
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28482
OPC_EmitMergeInputChains, 1, 1,
28483
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_FpI16m80), 0|OPFL_Chain,
28484
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28486
OPC_CheckValueType, MVT::i32,
28489
OPC_CheckType, MVT::f80,
28490
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28491
OPC_EmitMergeInputChains, 1, 1,
28492
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_FpI32m80), 0|OPFL_Chain,
28493
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28497
OPC_CheckOpcode, X86ISD::FILD,
28499
OPC_CheckFoldableChainNode,
28503
OPC_CheckValueType, MVT::i16,
28507
OPC_CheckType, MVT::f32,
28508
OPC_CheckPatternPredicate, 6,
28509
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28510
OPC_EmitMergeInputChains, 1, 0,
28511
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_FpI16m32), 0|OPFL_Chain,
28512
1, MVT::f32, 6, 2, 3, 4, 5, 6, 7,
28514
OPC_CheckValueType, MVT::i32,
28518
OPC_CheckType, MVT::f32,
28519
OPC_CheckPatternPredicate, 6,
28520
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28521
OPC_EmitMergeInputChains, 1, 0,
28522
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_FpI32m32), 0|OPFL_Chain,
28523
1, MVT::f32, 6, 2, 3, 4, 5, 6, 7,
28525
OPC_CheckValueType, MVT::i16,
28529
OPC_CheckType, MVT::f64,
28530
OPC_CheckPatternPredicate, 7,
28531
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28532
OPC_EmitMergeInputChains, 1, 0,
28533
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_FpI16m64), 0|OPFL_Chain,
28534
1, MVT::f64, 6, 2, 3, 4, 5, 6, 7,
28536
OPC_CheckValueType, MVT::i32,
28540
OPC_CheckType, MVT::f64,
28541
OPC_CheckPatternPredicate, 7,
28542
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28543
OPC_EmitMergeInputChains, 1, 0,
28544
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_FpI32m64), 0|OPFL_Chain,
28545
1, MVT::f64, 6, 2, 3, 4, 5, 6, 7,
28547
OPC_CheckValueType, MVT::i16,
28551
OPC_CheckType, MVT::f80,
28552
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28553
OPC_EmitMergeInputChains, 1, 0,
28554
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_FpI16m80), 0|OPFL_Chain,
28555
1, MVT::f80, 6, 2, 3, 4, 5, 6, 7,
28557
OPC_CheckValueType, MVT::i32,
28561
OPC_CheckType, MVT::f80,
28562
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
28563
OPC_EmitMergeInputChains, 1, 0,
28564
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_FpI32m80), 0|OPFL_Chain,
28565
1, MVT::f80, 6, 2, 3, 4, 5, 6, 7,
28570
OPC_SwitchType , 26, MVT::f32,
28572
OPC_CheckPatternPredicate, 6,
28573
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_Fp32), 0,
28574
1, MVT::f32, 2, 0, 1,
28576
OPC_CheckPatternPredicate, 0,
28577
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULSSrr), 0,
28578
1, MVT::f32, 2, 0, 1,
28582
OPC_CheckPatternPredicate, 7,
28583
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_Fp64), 0,
28584
1, MVT::f64, 2, 0, 1,
28586
OPC_CheckPatternPredicate, 1,
28587
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULSDrr), 0,
28588
1, MVT::f64, 2, 0, 1,
28591
OPC_MorphNodeTo, TARGET_OPCODE(X86::MUL_Fp80), 0,
28592
1, MVT::f80, 2, 0, 1,
28594
OPC_CheckPatternPredicate, 0,
28595
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULPSrr), 0,
28596
1, MVT::v4f32, 2, 0, 1,
28598
OPC_CheckPatternPredicate, 1,
28599
OPC_MorphNodeTo, TARGET_OPCODE(X86::MULPDrr), 0,
28600
1, MVT::v2f64, 2, 0, 1,
28603
100|128,6, ISD::FDIV,
28605
OPC_Scope, 126|128,5,
28607
OPC_SwitchOpcode , 37|128,3, ISD::LOAD,
28608
OPC_CheckPredicate, 4,
28610
OPC_CheckPredicate, 9,
28611
OPC_CheckPredicate, 10,
28614
OPC_CheckFoldableChainNode,
28617
OPC_SwitchType , 21, MVT::f32,
28618
OPC_CheckPatternPredicate, 6,
28619
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28620
OPC_EmitMergeInputChains, 1, 1,
28621
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_Fp32m), 0|OPFL_Chain|OPFL_MemRefs,
28622
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28624
OPC_CheckPatternPredicate, 7,
28625
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28626
OPC_EmitMergeInputChains, 1, 1,
28627
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_Fp64m), 0|OPFL_Chain|OPFL_MemRefs,
28628
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28631
OPC_CheckPredicate, 48,
28633
OPC_CheckPredicate, 49,
28636
OPC_CheckFoldableChainNode,
28639
OPC_SwitchType , 21, MVT::f64,
28640
OPC_CheckPatternPredicate, 7,
28641
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28642
OPC_EmitMergeInputChains, 1, 1,
28643
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_Fp64m32), 0|OPFL_Chain|OPFL_MemRefs,
28644
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28646
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28647
OPC_EmitMergeInputChains, 1, 1,
28648
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_Fp80m32), 0|OPFL_Chain|OPFL_MemRefs,
28649
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28652
OPC_CheckPredicate, 50,
28655
OPC_CheckFoldableChainNode,
28658
OPC_CheckType, MVT::f80,
28659
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28660
OPC_EmitMergeInputChains, 1, 1,
28661
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_Fp80m64), 0|OPFL_Chain|OPFL_MemRefs,
28662
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28665
OPC_CheckPredicate, 9,
28666
OPC_CheckPredicate, 10,
28669
OPC_CheckFoldableChainNode,
28672
OPC_SwitchType , 21, MVT::f32,
28673
OPC_CheckPatternPredicate, 6,
28674
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28675
OPC_EmitMergeInputChains, 1, 1,
28676
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVR_Fp32m), 0|OPFL_Chain|OPFL_MemRefs,
28677
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28679
OPC_CheckPatternPredicate, 7,
28680
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28681
OPC_EmitMergeInputChains, 1, 1,
28682
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVR_Fp64m), 0|OPFL_Chain|OPFL_MemRefs,
28683
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28686
OPC_CheckPredicate, 48,
28688
OPC_CheckPredicate, 49,
28691
OPC_CheckFoldableChainNode,
28694
OPC_SwitchType , 21, MVT::f64,
28695
OPC_CheckPatternPredicate, 7,
28696
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28697
OPC_EmitMergeInputChains, 1, 1,
28698
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVR_Fp64m32), 0|OPFL_Chain|OPFL_MemRefs,
28699
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28701
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28702
OPC_EmitMergeInputChains, 1, 1,
28703
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVR_Fp80m32), 0|OPFL_Chain|OPFL_MemRefs,
28704
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28707
OPC_CheckPredicate, 50,
28710
OPC_CheckFoldableChainNode,
28713
OPC_CheckType, MVT::f80,
28714
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28715
OPC_EmitMergeInputChains, 1, 1,
28716
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVR_Fp80m64), 0|OPFL_Chain|OPFL_MemRefs,
28717
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28720
OPC_CheckPredicate, 9,
28724
OPC_CheckFoldableChainNode,
28727
OPC_CheckType, MVT::f32,
28728
OPC_CheckPatternPredicate, 0,
28729
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28730
OPC_EmitMergeInputChains, 1, 1,
28731
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVSSrm), 0|OPFL_Chain|OPFL_MemRefs,
28732
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28734
OPC_CheckPredicate, 24,
28737
OPC_CheckFoldableChainNode,
28740
OPC_CheckType, MVT::v4f32,
28741
OPC_CheckPatternPredicate, 0,
28742
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28743
OPC_EmitMergeInputChains, 1, 1,
28744
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVPSrm), 0|OPFL_Chain|OPFL_MemRefs,
28745
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
28749
OPC_CheckFoldableChainNode,
28752
OPC_CheckType, MVT::f64,
28753
OPC_CheckPatternPredicate, 1,
28754
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28755
OPC_EmitMergeInputChains, 1, 1,
28756
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVSDrm), 0|OPFL_Chain|OPFL_MemRefs,
28757
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28759
OPC_CheckPredicate, 24,
28762
OPC_CheckFoldableChainNode,
28765
OPC_CheckType, MVT::v2f64,
28766
OPC_CheckPatternPredicate, 1,
28767
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28768
OPC_EmitMergeInputChains, 1, 1,
28769
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVPDrm), 0|OPFL_Chain|OPFL_MemRefs,
28770
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
28773
79|128,2, X86ISD::FILD,
28775
OPC_CheckFoldableChainNode,
28779
OPC_CheckValueType, MVT::i16,
28782
OPC_CheckType, MVT::f32,
28783
OPC_CheckPatternPredicate, 6,
28784
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28785
OPC_EmitMergeInputChains, 1, 1,
28786
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_FpI16m32), 0|OPFL_Chain,
28787
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28789
OPC_CheckValueType, MVT::i32,
28792
OPC_CheckType, MVT::f32,
28793
OPC_CheckPatternPredicate, 6,
28794
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28795
OPC_EmitMergeInputChains, 1, 1,
28796
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_FpI32m32), 0|OPFL_Chain,
28797
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28799
OPC_CheckValueType, MVT::i16,
28802
OPC_CheckType, MVT::f64,
28803
OPC_CheckPatternPredicate, 7,
28804
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28805
OPC_EmitMergeInputChains, 1, 1,
28806
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_FpI16m64), 0|OPFL_Chain,
28807
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28809
OPC_CheckValueType, MVT::i32,
28812
OPC_CheckType, MVT::f64,
28813
OPC_CheckPatternPredicate, 7,
28814
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28815
OPC_EmitMergeInputChains, 1, 1,
28816
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_FpI32m64), 0|OPFL_Chain,
28817
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28819
OPC_CheckValueType, MVT::i16,
28822
OPC_CheckType, MVT::f80,
28823
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28824
OPC_EmitMergeInputChains, 1, 1,
28825
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_FpI16m80), 0|OPFL_Chain,
28826
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28828
OPC_CheckValueType, MVT::i32,
28831
OPC_CheckType, MVT::f80,
28832
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28833
OPC_EmitMergeInputChains, 1, 1,
28834
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_FpI32m80), 0|OPFL_Chain,
28835
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28837
OPC_CheckValueType, MVT::i16,
28840
OPC_CheckType, MVT::f32,
28841
OPC_CheckPatternPredicate, 6,
28842
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28843
OPC_EmitMergeInputChains, 1, 1,
28844
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVR_FpI16m32), 0|OPFL_Chain,
28845
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28847
OPC_CheckValueType, MVT::i32,
28850
OPC_CheckType, MVT::f32,
28851
OPC_CheckPatternPredicate, 6,
28852
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28853
OPC_EmitMergeInputChains, 1, 1,
28854
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVR_FpI32m32), 0|OPFL_Chain,
28855
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
28857
OPC_CheckValueType, MVT::i16,
28860
OPC_CheckType, MVT::f64,
28861
OPC_CheckPatternPredicate, 7,
28862
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28863
OPC_EmitMergeInputChains, 1, 1,
28864
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVR_FpI16m64), 0|OPFL_Chain,
28865
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28867
OPC_CheckValueType, MVT::i32,
28870
OPC_CheckType, MVT::f64,
28871
OPC_CheckPatternPredicate, 7,
28872
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28873
OPC_EmitMergeInputChains, 1, 1,
28874
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVR_FpI32m64), 0|OPFL_Chain,
28875
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
28877
OPC_CheckValueType, MVT::i16,
28880
OPC_CheckType, MVT::f80,
28881
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28882
OPC_EmitMergeInputChains, 1, 1,
28883
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVR_FpI16m80), 0|OPFL_Chain,
28884
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28886
OPC_CheckValueType, MVT::i32,
28889
OPC_CheckType, MVT::f80,
28890
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28891
OPC_EmitMergeInputChains, 1, 1,
28892
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVR_FpI32m80), 0|OPFL_Chain,
28893
1, MVT::f80, 6, 0, 3, 4, 5, 6, 7,
28898
OPC_SwitchType , 26, MVT::f32,
28900
OPC_CheckPatternPredicate, 6,
28901
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_Fp32), 0,
28902
1, MVT::f32, 2, 0, 1,
28904
OPC_CheckPatternPredicate, 0,
28905
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVSSrr), 0,
28906
1, MVT::f32, 2, 0, 1,
28910
OPC_CheckPatternPredicate, 7,
28911
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_Fp64), 0,
28912
1, MVT::f64, 2, 0, 1,
28914
OPC_CheckPatternPredicate, 1,
28915
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVSDrr), 0,
28916
1, MVT::f64, 2, 0, 1,
28919
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIV_Fp80), 0,
28920
1, MVT::f80, 2, 0, 1,
28922
OPC_CheckPatternPredicate, 0,
28923
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVPSrr), 0,
28924
1, MVT::v4f32, 2, 0, 1,
28926
OPC_CheckPatternPredicate, 1,
28927
OPC_MorphNodeTo, TARGET_OPCODE(X86::DIVPDrr), 0,
28928
1, MVT::v2f64, 2, 0, 1,
28935
OPC_CheckOpcode, ISD::LOAD,
28936
OPC_CheckPredicate, 4,
28938
OPC_CheckPredicate, 5,
28941
OPC_CheckFoldableChainNode,
28943
OPC_CheckType, MVT::i32,
28945
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28946
OPC_EmitMergeInputChains, 2, 0, 1,
28947
OPC_MorphNodeTo, TARGET_OPCODE(X86::JMP32m), 0|OPFL_Chain|OPFL_MemRefs,
28948
0, 5, 3, 4, 5, 6, 7,
28950
OPC_CheckPredicate, 9,
28951
OPC_CheckPredicate, 10,
28954
OPC_CheckFoldableChainNode,
28956
OPC_CheckType, MVT::i64,
28958
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28959
OPC_EmitMergeInputChains, 2, 0, 1,
28960
OPC_MorphNodeTo, TARGET_OPCODE(X86::JMP64m), 0|OPFL_Chain|OPFL_MemRefs,
28961
0, 5, 3, 4, 5, 6, 7,
28966
OPC_CheckChild1Type, MVT::i32,
28967
OPC_EmitMergeInputChains, 1, 0,
28968
OPC_MorphNodeTo, TARGET_OPCODE(X86::JMP32r), 0|OPFL_Chain,
28971
OPC_CheckChild1Type, MVT::i64,
28972
OPC_EmitMergeInputChains, 1, 0,
28973
OPC_MorphNodeTo, TARGET_OPCODE(X86::JMP64r), 0|OPFL_Chain,
28977
10|128,2, X86ISD::CALL,
28979
OPC_CaptureFlagInput,
28982
OPC_CheckOpcode, ISD::LOAD,
28983
OPC_CheckPredicate, 4,
28985
OPC_CheckPredicate, 5,
28988
OPC_CheckFoldableChainNode,
28990
OPC_CheckType, MVT::i32,
28992
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
28993
OPC_EmitMergeInputChains, 2, 0, 1,
28994
OPC_MorphNodeTo, TARGET_OPCODE(X86::CALL32m), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs|OPFL_Variadic1,
28995
0, 5, 3, 4, 5, 6, 7,
28997
OPC_CheckPredicate, 9,
28998
OPC_CheckPredicate, 10,
29001
OPC_CheckFoldableChainNode,
29003
OPC_CheckType, MVT::i64,
29006
OPC_CheckPatternPredicate, 16,
29007
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29008
OPC_EmitMergeInputChains, 2, 0, 1,
29009
OPC_MorphNodeTo, TARGET_OPCODE(X86::CALL64m), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs|OPFL_Variadic1,
29010
0, 5, 3, 4, 5, 6, 7,
29012
OPC_CheckPatternPredicate, 17,
29013
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29014
OPC_EmitMergeInputChains, 2, 0, 1,
29015
OPC_MorphNodeTo, TARGET_OPCODE(X86::WINCALL64m), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs|OPFL_Variadic1,
29016
0, 5, 3, 4, 5, 6, 7,
29023
OPC_SwitchOpcode , 46, ISD::TargetGlobalAddress,
29024
OPC_SwitchType , 11, MVT::i32,
29026
OPC_EmitMergeInputChains, 1, 0,
29027
OPC_MorphNodeTo, TARGET_OPCODE(X86::CALLpcrel32), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_Variadic1,
29032
OPC_CheckPatternPredicate, 16,
29033
OPC_EmitMergeInputChains, 1, 0,
29034
OPC_MorphNodeTo, TARGET_OPCODE(X86::CALL64pcrel32), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_Variadic1,
29037
OPC_CheckPatternPredicate, 17,
29038
OPC_EmitMergeInputChains, 1, 0,
29039
OPC_MorphNodeTo, TARGET_OPCODE(X86::WINCALL64pcrel32), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_Variadic1,
29043
46, ISD::TargetExternalSymbol,
29044
OPC_SwitchType , 11, MVT::i32,
29046
OPC_EmitMergeInputChains, 1, 0,
29047
OPC_MorphNodeTo, TARGET_OPCODE(X86::CALLpcrel32), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_Variadic1,
29052
OPC_CheckPatternPredicate, 16,
29053
OPC_EmitMergeInputChains, 1, 0,
29054
OPC_MorphNodeTo, TARGET_OPCODE(X86::CALL64pcrel32), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_Variadic1,
29057
OPC_CheckPatternPredicate, 17,
29058
OPC_EmitMergeInputChains, 1, 0,
29059
OPC_MorphNodeTo, TARGET_OPCODE(X86::WINCALL64pcrel32), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_Variadic1,
29064
OPC_CheckType, MVT::i32,
29066
OPC_CheckPatternPredicate, 18,
29067
OPC_EmitMergeInputChains, 1, 0,
29068
OPC_EmitConvertToTarget, 1,
29069
OPC_MorphNodeTo, TARGET_OPCODE(X86::CALLpcrel32), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_Variadic1,
29073
OPC_CheckChild1Type, MVT::i32,
29074
OPC_EmitMergeInputChains, 1, 0,
29075
OPC_MorphNodeTo, TARGET_OPCODE(X86::CALL32r), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_Variadic1,
29078
OPC_CheckChild1Type, MVT::i64,
29080
OPC_CheckPatternPredicate, 16,
29081
OPC_EmitMergeInputChains, 1, 0,
29082
OPC_MorphNodeTo, TARGET_OPCODE(X86::CALL64r), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_Variadic1,
29085
OPC_CheckPatternPredicate, 17,
29086
OPC_EmitMergeInputChains, 1, 0,
29087
OPC_MorphNodeTo, TARGET_OPCODE(X86::WINCALL64r), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_Variadic1,
29092
6|128,1, X86ISD::BSF,
29095
OPC_CheckOpcode, ISD::LOAD,
29096
OPC_CheckPredicate, 4,
29098
OPC_CheckPredicate, 6,
29103
OPC_CheckType, MVT::i16,
29104
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29105
OPC_EmitMergeInputChains, 1, 0,
29106
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSF16rm), 0|OPFL_Chain|OPFL_MemRefs,
29107
2, MVT::i16, MVT::i32, 5, 2, 3, 4, 5, 6,
29109
OPC_CheckPredicate, 5,
29114
OPC_CheckType, MVT::i32,
29115
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29116
OPC_EmitMergeInputChains, 1, 0,
29117
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSF32rm), 0|OPFL_Chain|OPFL_MemRefs,
29118
2, MVT::i32, MVT::i32, 5, 2, 3, 4, 5, 6,
29120
OPC_CheckPredicate, 9,
29121
OPC_CheckPredicate, 10,
29126
OPC_CheckType, MVT::i64,
29127
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29128
OPC_EmitMergeInputChains, 1, 0,
29129
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSF64rm), 0|OPFL_Chain|OPFL_MemRefs,
29130
2, MVT::i64, MVT::i32, 5, 2, 3, 4, 5, 6,
29134
OPC_SwitchType , 9, MVT::i16,
29135
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSF16rr), 0,
29136
2, MVT::i16, MVT::i32, 1, 0,
29138
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSF32rr), 0,
29139
2, MVT::i32, MVT::i32, 1, 0,
29141
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSF64rr), 0,
29142
2, MVT::i64, MVT::i32, 1, 0,
29145
6|128,1, X86ISD::BSR,
29148
OPC_CheckOpcode, ISD::LOAD,
29149
OPC_CheckPredicate, 4,
29151
OPC_CheckPredicate, 6,
29156
OPC_CheckType, MVT::i16,
29157
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29158
OPC_EmitMergeInputChains, 1, 0,
29159
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSR16rm), 0|OPFL_Chain|OPFL_MemRefs,
29160
2, MVT::i16, MVT::i32, 5, 2, 3, 4, 5, 6,
29162
OPC_CheckPredicate, 5,
29167
OPC_CheckType, MVT::i32,
29168
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29169
OPC_EmitMergeInputChains, 1, 0,
29170
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSR32rm), 0|OPFL_Chain|OPFL_MemRefs,
29171
2, MVT::i32, MVT::i32, 5, 2, 3, 4, 5, 6,
29173
OPC_CheckPredicate, 9,
29174
OPC_CheckPredicate, 10,
29179
OPC_CheckType, MVT::i64,
29180
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29181
OPC_EmitMergeInputChains, 1, 0,
29182
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSR64rm), 0|OPFL_Chain|OPFL_MemRefs,
29183
2, MVT::i64, MVT::i32, 5, 2, 3, 4, 5, 6,
29187
OPC_SwitchType , 9, MVT::i16,
29188
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSR16rr), 0,
29189
2, MVT::i16, MVT::i32, 1, 0,
29191
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSR32rr), 0,
29192
2, MVT::i32, MVT::i32, 1, 0,
29194
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSR64rr), 0,
29195
2, MVT::i64, MVT::i32, 1, 0,
29198
115|128,2, ISD::ADDE,
29199
OPC_CaptureFlagInput,
29203
OPC_CheckOpcode, ISD::LOAD,
29204
OPC_CheckPredicate, 4,
29205
OPC_CheckPredicate, 9,
29208
OPC_CheckFoldableChainNode,
29211
OPC_SwitchType , 19, MVT::i8,
29212
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29213
OPC_EmitMergeInputChains, 1, 1,
29214
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC8rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
29215
1, MVT::i8, 6, 0, 3, 4, 5, 6, 7,
29217
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29218
OPC_EmitMergeInputChains, 1, 1,
29219
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
29220
1, MVT::i16, 6, 0, 3, 4, 5, 6, 7,
29222
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29223
OPC_EmitMergeInputChains, 1, 1,
29224
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
29225
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29227
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29228
OPC_EmitMergeInputChains, 1, 1,
29229
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
29230
1, MVT::i64, 6, 0, 3, 4, 5, 6, 7,
29234
OPC_CheckOpcode, ISD::LOAD,
29235
OPC_CheckPredicate, 4,
29236
OPC_CheckPredicate, 9,
29239
OPC_CheckFoldableChainNode,
29243
OPC_SwitchType , 19, MVT::i8,
29244
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29245
OPC_EmitMergeInputChains, 1, 0,
29246
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC8rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
29247
1, MVT::i8, 6, 2, 3, 4, 5, 6, 7,
29249
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29250
OPC_EmitMergeInputChains, 1, 0,
29251
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
29252
1, MVT::i16, 6, 2, 3, 4, 5, 6, 7,
29254
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29255
OPC_EmitMergeInputChains, 1, 0,
29256
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
29257
1, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
29259
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29260
OPC_EmitMergeInputChains, 1, 0,
29261
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
29262
1, MVT::i64, 6, 2, 3, 4, 5, 6, 7,
29269
OPC_CheckOpcode, ISD::Constant,
29271
OPC_CheckPredicate, 11,
29273
OPC_SwitchType , 11, MVT::i16,
29274
OPC_EmitConvertToTarget, 1,
29275
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC16ri8), 0|OPFL_FlagInput|OPFL_FlagOutput,
29276
1, MVT::i16, 2, 0, 2,
29278
OPC_EmitConvertToTarget, 1,
29279
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC32ri8), 0|OPFL_FlagInput|OPFL_FlagOutput,
29280
1, MVT::i32, 2, 0, 2,
29282
OPC_EmitConvertToTarget, 1,
29283
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC64ri8), 0|OPFL_FlagInput|OPFL_FlagOutput,
29284
1, MVT::i64, 2, 0, 2,
29287
OPC_CheckPredicate, 12,
29289
OPC_CheckType, MVT::i64,
29290
OPC_EmitConvertToTarget, 1,
29291
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC64ri32), 0|OPFL_FlagInput|OPFL_FlagOutput,
29292
1, MVT::i64, 2, 0, 2,
29295
OPC_SwitchType , 11, MVT::i8,
29296
OPC_EmitConvertToTarget, 1,
29297
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC8ri), 0|OPFL_FlagInput|OPFL_FlagOutput,
29298
1, MVT::i8, 2, 0, 2,
29300
OPC_EmitConvertToTarget, 1,
29301
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC16ri), 0|OPFL_FlagInput|OPFL_FlagOutput,
29302
1, MVT::i16, 2, 0, 2,
29304
OPC_EmitConvertToTarget, 1,
29305
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC32ri), 0|OPFL_FlagInput|OPFL_FlagOutput,
29306
1, MVT::i32, 2, 0, 2,
29310
OPC_CheckType, MVT::i8,
29311
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC8rr), 0|OPFL_FlagInput|OPFL_FlagOutput,
29312
1, MVT::i8, 2, 0, 1,
29314
OPC_CheckType, MVT::i16,
29315
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC16rr), 0|OPFL_FlagInput|OPFL_FlagOutput,
29316
1, MVT::i16, 2, 0, 1,
29318
OPC_CheckType, MVT::i32,
29319
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC32rr), 0|OPFL_FlagInput|OPFL_FlagOutput,
29320
1, MVT::i32, 2, 0, 1,
29322
OPC_CheckType, MVT::i64,
29323
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADC64rr), 0|OPFL_FlagInput|OPFL_FlagOutput,
29324
1, MVT::i64, 2, 0, 1,
29327
13|128,2, ISD::SUBE,
29328
OPC_CaptureFlagInput,
29332
OPC_CheckOpcode, ISD::LOAD,
29333
OPC_CheckPredicate, 4,
29334
OPC_CheckPredicate, 9,
29337
OPC_CheckFoldableChainNode,
29340
OPC_SwitchType , 19, MVT::i8,
29341
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29342
OPC_EmitMergeInputChains, 1, 1,
29343
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB8rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
29344
1, MVT::i8, 6, 0, 3, 4, 5, 6, 7,
29346
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29347
OPC_EmitMergeInputChains, 1, 1,
29348
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB16rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
29349
1, MVT::i16, 6, 0, 3, 4, 5, 6, 7,
29351
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29352
OPC_EmitMergeInputChains, 1, 1,
29353
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB32rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
29354
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29356
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29357
OPC_EmitMergeInputChains, 1, 1,
29358
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB64rm), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput|OPFL_MemRefs,
29359
1, MVT::i64, 6, 0, 3, 4, 5, 6, 7,
29365
OPC_CheckOpcode, ISD::Constant,
29367
OPC_CheckPredicate, 11,
29369
OPC_SwitchType , 11, MVT::i16,
29370
OPC_EmitConvertToTarget, 1,
29371
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB16ri8), 0|OPFL_FlagInput|OPFL_FlagOutput,
29372
1, MVT::i16, 2, 0, 2,
29374
OPC_EmitConvertToTarget, 1,
29375
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB32ri8), 0|OPFL_FlagInput|OPFL_FlagOutput,
29376
1, MVT::i32, 2, 0, 2,
29378
OPC_EmitConvertToTarget, 1,
29379
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB64ri8), 0|OPFL_FlagInput|OPFL_FlagOutput,
29380
1, MVT::i64, 2, 0, 2,
29383
OPC_CheckPredicate, 12,
29385
OPC_CheckType, MVT::i64,
29386
OPC_EmitConvertToTarget, 1,
29387
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB64ri32), 0|OPFL_FlagInput|OPFL_FlagOutput,
29388
1, MVT::i64, 2, 0, 2,
29391
OPC_SwitchType , 11, MVT::i8,
29392
OPC_EmitConvertToTarget, 1,
29393
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB8ri), 0|OPFL_FlagInput|OPFL_FlagOutput,
29394
1, MVT::i8, 2, 0, 2,
29396
OPC_EmitConvertToTarget, 1,
29397
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB16ri), 0|OPFL_FlagInput|OPFL_FlagOutput,
29398
1, MVT::i16, 2, 0, 2,
29400
OPC_EmitConvertToTarget, 1,
29401
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB32ri), 0|OPFL_FlagInput|OPFL_FlagOutput,
29402
1, MVT::i32, 2, 0, 2,
29406
OPC_CheckType, MVT::i8,
29407
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB8rr), 0|OPFL_FlagInput|OPFL_FlagOutput,
29408
1, MVT::i8, 2, 0, 1,
29410
OPC_CheckType, MVT::i16,
29411
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB16rr), 0|OPFL_FlagInput|OPFL_FlagOutput,
29412
1, MVT::i16, 2, 0, 1,
29414
OPC_CheckType, MVT::i32,
29415
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB32rr), 0|OPFL_FlagInput|OPFL_FlagOutput,
29416
1, MVT::i32, 2, 0, 1,
29418
OPC_CheckType, MVT::i64,
29419
OPC_MorphNodeTo, TARGET_OPCODE(X86::SBB64rr), 0|OPFL_FlagInput|OPFL_FlagOutput,
29420
1, MVT::i64, 2, 0, 1,
29423
92|128,1, ISD::ADDC,
29427
OPC_CheckOpcode, ISD::LOAD,
29428
OPC_CheckPredicate, 4,
29429
OPC_CheckPredicate, 9,
29432
OPC_CheckFoldableChainNode,
29435
OPC_SwitchType , 19, MVT::i32,
29436
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29437
OPC_EmitMergeInputChains, 1, 1,
29438
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32rm), 0|OPFL_Chain|OPFL_FlagOutput|OPFL_MemRefs,
29439
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29441
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29442
OPC_EmitMergeInputChains, 1, 1,
29443
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64rm), 0|OPFL_Chain|OPFL_FlagOutput|OPFL_MemRefs,
29444
1, MVT::i64, 6, 0, 3, 4, 5, 6, 7,
29448
OPC_CheckOpcode, ISD::LOAD,
29449
OPC_CheckPredicate, 4,
29450
OPC_CheckPredicate, 9,
29453
OPC_CheckFoldableChainNode,
29457
OPC_SwitchType , 19, MVT::i64,
29458
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29459
OPC_EmitMergeInputChains, 1, 0,
29460
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64rm), 0|OPFL_Chain|OPFL_FlagOutput|OPFL_MemRefs,
29461
1, MVT::i64, 6, 2, 3, 4, 5, 6, 7,
29463
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29464
OPC_EmitMergeInputChains, 1, 0,
29465
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32rm), 0|OPFL_Chain|OPFL_FlagOutput|OPFL_MemRefs,
29466
1, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
29473
OPC_CheckOpcode, ISD::Constant,
29475
OPC_CheckPredicate, 11,
29477
OPC_SwitchType , 11, MVT::i32,
29478
OPC_EmitConvertToTarget, 1,
29479
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri8), 0|OPFL_FlagOutput,
29480
1, MVT::i32, 2, 0, 2,
29482
OPC_EmitConvertToTarget, 1,
29483
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64ri8), 0|OPFL_FlagOutput,
29484
1, MVT::i64, 2, 0, 2,
29487
OPC_CheckPredicate, 12,
29489
OPC_CheckType, MVT::i64,
29490
OPC_EmitConvertToTarget, 1,
29491
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64ri32), 0|OPFL_FlagOutput,
29492
1, MVT::i64, 2, 0, 2,
29495
OPC_CheckType, MVT::i32,
29496
OPC_EmitConvertToTarget, 1,
29497
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0|OPFL_FlagOutput,
29498
1, MVT::i32, 2, 0, 2,
29501
OPC_CheckType, MVT::i32,
29502
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32rr), 0|OPFL_FlagOutput,
29503
1, MVT::i32, 2, 0, 1,
29505
OPC_CheckType, MVT::i64,
29506
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64rr), 0|OPFL_FlagOutput,
29507
1, MVT::i64, 2, 0, 1,
29510
30|128,1, ISD::SUBC,
29514
OPC_CheckOpcode, ISD::LOAD,
29515
OPC_CheckPredicate, 4,
29516
OPC_CheckPredicate, 9,
29519
OPC_CheckFoldableChainNode,
29522
OPC_SwitchType , 19, MVT::i32,
29523
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29524
OPC_EmitMergeInputChains, 1, 1,
29525
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32rm), 0|OPFL_Chain|OPFL_FlagOutput|OPFL_MemRefs,
29526
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29528
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29529
OPC_EmitMergeInputChains, 1, 1,
29530
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64rm), 0|OPFL_Chain|OPFL_FlagOutput|OPFL_MemRefs,
29531
1, MVT::i64, 6, 0, 3, 4, 5, 6, 7,
29537
OPC_CheckOpcode, ISD::Constant,
29539
OPC_CheckPredicate, 11,
29541
OPC_SwitchType , 11, MVT::i32,
29542
OPC_EmitConvertToTarget, 1,
29543
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32ri8), 0|OPFL_FlagOutput,
29544
1, MVT::i32, 2, 0, 2,
29546
OPC_EmitConvertToTarget, 1,
29547
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64ri8), 0|OPFL_FlagOutput,
29548
1, MVT::i64, 2, 0, 2,
29552
OPC_SwitchType , 11, MVT::i32,
29553
OPC_EmitConvertToTarget, 1,
29554
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32ri), 0|OPFL_FlagOutput,
29555
1, MVT::i32, 2, 0, 2,
29557
OPC_EmitConvertToTarget, 1,
29558
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64ri32), 0|OPFL_FlagOutput,
29559
1, MVT::i64, 2, 0, 2,
29563
OPC_CheckType, MVT::i32,
29564
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32rr), 0|OPFL_FlagOutput,
29565
1, MVT::i32, 2, 0, 1,
29567
OPC_CheckType, MVT::i64,
29568
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64rr), 0|OPFL_FlagOutput,
29569
1, MVT::i64, 2, 0, 1,
29572
68|128,3, X86ISD::ADD,
29573
OPC_Scope, 5|128,1,
29576
OPC_CheckOpcode, ISD::LOAD,
29577
OPC_CheckPredicate, 4,
29579
OPC_CheckPredicate, 9,
29580
OPC_CheckPredicate, 10,
29583
OPC_CheckFoldableChainNode,
29586
OPC_CheckType, MVT::i8,
29587
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29588
OPC_EmitMergeInputChains, 1, 1,
29589
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8rm), 0|OPFL_Chain|OPFL_MemRefs,
29590
2, MVT::i8, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29592
OPC_CheckPredicate, 6,
29595
OPC_CheckFoldableChainNode,
29598
OPC_CheckType, MVT::i16,
29599
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29600
OPC_EmitMergeInputChains, 1, 1,
29601
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16rm), 0|OPFL_Chain|OPFL_MemRefs,
29602
2, MVT::i16, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29604
OPC_CheckPredicate, 5,
29607
OPC_CheckFoldableChainNode,
29610
OPC_CheckType, MVT::i32,
29611
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29612
OPC_EmitMergeInputChains, 1, 1,
29613
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32rm), 0|OPFL_Chain|OPFL_MemRefs,
29614
2, MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29616
OPC_CheckPredicate, 9,
29617
OPC_CheckPredicate, 10,
29620
OPC_CheckFoldableChainNode,
29623
OPC_CheckType, MVT::i64,
29624
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29625
OPC_EmitMergeInputChains, 1, 1,
29626
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64rm), 0|OPFL_Chain|OPFL_MemRefs,
29627
2, MVT::i64, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29631
OPC_CheckOpcode, ISD::LOAD,
29632
OPC_CheckPredicate, 4,
29634
OPC_CheckPredicate, 9,
29635
OPC_CheckPredicate, 10,
29638
OPC_CheckFoldableChainNode,
29642
OPC_CheckType, MVT::i8,
29643
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29644
OPC_EmitMergeInputChains, 1, 0,
29645
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8rm), 0|OPFL_Chain|OPFL_MemRefs,
29646
2, MVT::i8, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
29648
OPC_CheckPredicate, 6,
29651
OPC_CheckFoldableChainNode,
29655
OPC_CheckType, MVT::i16,
29656
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29657
OPC_EmitMergeInputChains, 1, 0,
29658
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16rm), 0|OPFL_Chain|OPFL_MemRefs,
29659
2, MVT::i16, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
29661
OPC_CheckPredicate, 5,
29664
OPC_CheckFoldableChainNode,
29668
OPC_CheckType, MVT::i32,
29669
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29670
OPC_EmitMergeInputChains, 1, 0,
29671
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32rm), 0|OPFL_Chain|OPFL_MemRefs,
29672
2, MVT::i32, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
29674
OPC_CheckPredicate, 9,
29675
OPC_CheckPredicate, 10,
29678
OPC_CheckFoldableChainNode,
29682
OPC_CheckType, MVT::i64,
29683
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29684
OPC_EmitMergeInputChains, 1, 0,
29685
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64rm), 0|OPFL_Chain|OPFL_MemRefs,
29686
2, MVT::i64, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
29693
OPC_CheckOpcode, ISD::Constant,
29695
OPC_CheckPredicate, 11,
29697
OPC_SwitchType , 12, MVT::i16,
29698
OPC_EmitConvertToTarget, 1,
29699
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16ri8), 0,
29700
2, MVT::i16, MVT::i32, 2, 0, 2,
29702
OPC_EmitConvertToTarget, 1,
29703
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri8), 0,
29704
2, MVT::i32, MVT::i32, 2, 0, 2,
29706
OPC_EmitConvertToTarget, 1,
29707
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64ri8), 0,
29708
2, MVT::i64, MVT::i32, 2, 0, 2,
29711
OPC_CheckPredicate, 12,
29713
OPC_CheckType, MVT::i64,
29714
OPC_EmitConvertToTarget, 1,
29715
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64ri32), 0,
29716
2, MVT::i64, MVT::i32, 2, 0, 2,
29719
OPC_SwitchType , 12, MVT::i8,
29720
OPC_EmitConvertToTarget, 1,
29721
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8ri), 0,
29722
2, MVT::i8, MVT::i32, 2, 0, 2,
29724
OPC_EmitConvertToTarget, 1,
29725
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16ri), 0,
29726
2, MVT::i16, MVT::i32, 2, 0, 2,
29728
OPC_EmitConvertToTarget, 1,
29729
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32ri), 0,
29730
2, MVT::i32, MVT::i32, 2, 0, 2,
29734
OPC_CheckType, MVT::i8,
29735
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8rr), 0,
29736
2, MVT::i8, MVT::i32, 2, 0, 1,
29738
OPC_CheckType, MVT::i16,
29739
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16rr), 0,
29740
2, MVT::i16, MVT::i32, 2, 0, 1,
29742
OPC_CheckType, MVT::i32,
29743
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32rr), 0,
29744
2, MVT::i32, MVT::i32, 2, 0, 1,
29746
OPC_CheckType, MVT::i64,
29747
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64rr), 0,
29748
2, MVT::i64, MVT::i32, 2, 0, 1,
29751
57|128,2, X86ISD::SUB,
29753
OPC_Scope, 4|128,1,
29755
OPC_CheckOpcode, ISD::LOAD,
29756
OPC_CheckPredicate, 4,
29758
OPC_CheckPredicate, 9,
29759
OPC_CheckPredicate, 10,
29762
OPC_CheckFoldableChainNode,
29765
OPC_CheckType, MVT::i8,
29766
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29767
OPC_EmitMergeInputChains, 1, 1,
29768
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB8rm), 0|OPFL_Chain|OPFL_MemRefs,
29769
2, MVT::i8, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29771
OPC_CheckPredicate, 6,
29774
OPC_CheckFoldableChainNode,
29777
OPC_CheckType, MVT::i16,
29778
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29779
OPC_EmitMergeInputChains, 1, 1,
29780
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16rm), 0|OPFL_Chain|OPFL_MemRefs,
29781
2, MVT::i16, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29783
OPC_CheckPredicate, 5,
29786
OPC_CheckFoldableChainNode,
29789
OPC_CheckType, MVT::i32,
29790
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29791
OPC_EmitMergeInputChains, 1, 1,
29792
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32rm), 0|OPFL_Chain|OPFL_MemRefs,
29793
2, MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29795
OPC_CheckPredicate, 9,
29796
OPC_CheckPredicate, 10,
29799
OPC_CheckFoldableChainNode,
29802
OPC_CheckType, MVT::i64,
29803
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29804
OPC_EmitMergeInputChains, 1, 1,
29805
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64rm), 0|OPFL_Chain|OPFL_MemRefs,
29806
2, MVT::i64, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29812
OPC_CheckOpcode, ISD::Constant,
29814
OPC_CheckPredicate, 11,
29816
OPC_SwitchType , 12, MVT::i16,
29817
OPC_EmitConvertToTarget, 1,
29818
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16ri8), 0,
29819
2, MVT::i16, MVT::i32, 2, 0, 2,
29821
OPC_EmitConvertToTarget, 1,
29822
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32ri8), 0,
29823
2, MVT::i32, MVT::i32, 2, 0, 2,
29825
OPC_EmitConvertToTarget, 1,
29826
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64ri8), 0,
29827
2, MVT::i64, MVT::i32, 2, 0, 2,
29830
OPC_CheckPredicate, 12,
29832
OPC_CheckType, MVT::i64,
29833
OPC_EmitConvertToTarget, 1,
29834
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64ri32), 0,
29835
2, MVT::i64, MVT::i32, 2, 0, 2,
29838
OPC_SwitchType , 12, MVT::i8,
29839
OPC_EmitConvertToTarget, 1,
29840
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB8ri), 0,
29841
2, MVT::i8, MVT::i32, 2, 0, 2,
29843
OPC_EmitConvertToTarget, 1,
29844
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16ri), 0,
29845
2, MVT::i16, MVT::i32, 2, 0, 2,
29847
OPC_EmitConvertToTarget, 1,
29848
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32ri), 0,
29849
2, MVT::i32, MVT::i32, 2, 0, 2,
29853
OPC_CheckType, MVT::i8,
29854
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB8rr), 0,
29855
2, MVT::i8, MVT::i32, 2, 0, 1,
29857
OPC_CheckType, MVT::i16,
29858
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB16rr), 0,
29859
2, MVT::i16, MVT::i32, 2, 0, 1,
29861
OPC_CheckType, MVT::i32,
29862
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB32rr), 0,
29863
2, MVT::i32, MVT::i32, 2, 0, 1,
29865
OPC_CheckType, MVT::i64,
29866
OPC_MorphNodeTo, TARGET_OPCODE(X86::SUB64rr), 0,
29867
2, MVT::i64, MVT::i32, 2, 0, 1,
29870
68|128,3, X86ISD::OR,
29871
OPC_Scope, 5|128,1,
29874
OPC_CheckOpcode, ISD::LOAD,
29875
OPC_CheckPredicate, 4,
29877
OPC_CheckPredicate, 9,
29878
OPC_CheckPredicate, 10,
29881
OPC_CheckFoldableChainNode,
29884
OPC_CheckType, MVT::i8,
29885
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29886
OPC_EmitMergeInputChains, 1, 1,
29887
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8rm), 0|OPFL_Chain|OPFL_MemRefs,
29888
2, MVT::i8, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29890
OPC_CheckPredicate, 6,
29893
OPC_CheckFoldableChainNode,
29896
OPC_CheckType, MVT::i16,
29897
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29898
OPC_EmitMergeInputChains, 1, 1,
29899
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16rm), 0|OPFL_Chain|OPFL_MemRefs,
29900
2, MVT::i16, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29902
OPC_CheckPredicate, 5,
29905
OPC_CheckFoldableChainNode,
29908
OPC_CheckType, MVT::i32,
29909
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29910
OPC_EmitMergeInputChains, 1, 1,
29911
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32rm), 0|OPFL_Chain|OPFL_MemRefs,
29912
2, MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29914
OPC_CheckPredicate, 9,
29915
OPC_CheckPredicate, 10,
29918
OPC_CheckFoldableChainNode,
29921
OPC_CheckType, MVT::i64,
29922
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
29923
OPC_EmitMergeInputChains, 1, 1,
29924
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64rm), 0|OPFL_Chain|OPFL_MemRefs,
29925
2, MVT::i64, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
29929
OPC_CheckOpcode, ISD::LOAD,
29930
OPC_CheckPredicate, 4,
29932
OPC_CheckPredicate, 9,
29933
OPC_CheckPredicate, 10,
29936
OPC_CheckFoldableChainNode,
29940
OPC_CheckType, MVT::i8,
29941
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29942
OPC_EmitMergeInputChains, 1, 0,
29943
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8rm), 0|OPFL_Chain|OPFL_MemRefs,
29944
2, MVT::i8, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
29946
OPC_CheckPredicate, 6,
29949
OPC_CheckFoldableChainNode,
29953
OPC_CheckType, MVT::i16,
29954
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29955
OPC_EmitMergeInputChains, 1, 0,
29956
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16rm), 0|OPFL_Chain|OPFL_MemRefs,
29957
2, MVT::i16, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
29959
OPC_CheckPredicate, 5,
29962
OPC_CheckFoldableChainNode,
29966
OPC_CheckType, MVT::i32,
29967
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29968
OPC_EmitMergeInputChains, 1, 0,
29969
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32rm), 0|OPFL_Chain|OPFL_MemRefs,
29970
2, MVT::i32, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
29972
OPC_CheckPredicate, 9,
29973
OPC_CheckPredicate, 10,
29976
OPC_CheckFoldableChainNode,
29980
OPC_CheckType, MVT::i64,
29981
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
29982
OPC_EmitMergeInputChains, 1, 0,
29983
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64rm), 0|OPFL_Chain|OPFL_MemRefs,
29984
2, MVT::i64, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
29991
OPC_CheckOpcode, ISD::Constant,
29993
OPC_CheckPredicate, 11,
29995
OPC_SwitchType , 12, MVT::i16,
29996
OPC_EmitConvertToTarget, 1,
29997
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16ri8), 0,
29998
2, MVT::i16, MVT::i32, 2, 0, 2,
30000
OPC_EmitConvertToTarget, 1,
30001
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32ri8), 0,
30002
2, MVT::i32, MVT::i32, 2, 0, 2,
30004
OPC_EmitConvertToTarget, 1,
30005
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64ri8), 0,
30006
2, MVT::i64, MVT::i32, 2, 0, 2,
30009
OPC_CheckPredicate, 12,
30011
OPC_CheckType, MVT::i64,
30012
OPC_EmitConvertToTarget, 1,
30013
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64ri32), 0,
30014
2, MVT::i64, MVT::i32, 2, 0, 2,
30017
OPC_SwitchType , 12, MVT::i8,
30018
OPC_EmitConvertToTarget, 1,
30019
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8ri), 0,
30020
2, MVT::i8, MVT::i32, 2, 0, 2,
30022
OPC_EmitConvertToTarget, 1,
30023
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16ri), 0,
30024
2, MVT::i16, MVT::i32, 2, 0, 2,
30026
OPC_EmitConvertToTarget, 1,
30027
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32ri), 0,
30028
2, MVT::i32, MVT::i32, 2, 0, 2,
30032
OPC_CheckType, MVT::i8,
30033
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR8rr), 0,
30034
2, MVT::i8, MVT::i32, 2, 0, 1,
30036
OPC_CheckType, MVT::i16,
30037
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR16rr), 0,
30038
2, MVT::i16, MVT::i32, 2, 0, 1,
30040
OPC_CheckType, MVT::i32,
30041
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR32rr), 0,
30042
2, MVT::i32, MVT::i32, 2, 0, 1,
30044
OPC_CheckType, MVT::i64,
30045
OPC_MorphNodeTo, TARGET_OPCODE(X86::OR64rr), 0,
30046
2, MVT::i64, MVT::i32, 2, 0, 1,
30049
68|128,3, X86ISD::XOR,
30050
OPC_Scope, 5|128,1,
30053
OPC_CheckOpcode, ISD::LOAD,
30054
OPC_CheckPredicate, 4,
30056
OPC_CheckPredicate, 9,
30057
OPC_CheckPredicate, 10,
30060
OPC_CheckFoldableChainNode,
30063
OPC_CheckType, MVT::i8,
30064
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
30065
OPC_EmitMergeInputChains, 1, 1,
30066
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8rm), 0|OPFL_Chain|OPFL_MemRefs,
30067
2, MVT::i8, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
30069
OPC_CheckPredicate, 6,
30072
OPC_CheckFoldableChainNode,
30075
OPC_CheckType, MVT::i16,
30076
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
30077
OPC_EmitMergeInputChains, 1, 1,
30078
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16rm), 0|OPFL_Chain|OPFL_MemRefs,
30079
2, MVT::i16, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
30081
OPC_CheckPredicate, 5,
30084
OPC_CheckFoldableChainNode,
30087
OPC_CheckType, MVT::i32,
30088
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
30089
OPC_EmitMergeInputChains, 1, 1,
30090
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32rm), 0|OPFL_Chain|OPFL_MemRefs,
30091
2, MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
30093
OPC_CheckPredicate, 9,
30094
OPC_CheckPredicate, 10,
30097
OPC_CheckFoldableChainNode,
30100
OPC_CheckType, MVT::i64,
30101
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
30102
OPC_EmitMergeInputChains, 1, 1,
30103
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64rm), 0|OPFL_Chain|OPFL_MemRefs,
30104
2, MVT::i64, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
30108
OPC_CheckOpcode, ISD::LOAD,
30109
OPC_CheckPredicate, 4,
30111
OPC_CheckPredicate, 9,
30112
OPC_CheckPredicate, 10,
30115
OPC_CheckFoldableChainNode,
30119
OPC_CheckType, MVT::i8,
30120
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30121
OPC_EmitMergeInputChains, 1, 0,
30122
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8rm), 0|OPFL_Chain|OPFL_MemRefs,
30123
2, MVT::i8, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
30125
OPC_CheckPredicate, 6,
30128
OPC_CheckFoldableChainNode,
30132
OPC_CheckType, MVT::i16,
30133
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30134
OPC_EmitMergeInputChains, 1, 0,
30135
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16rm), 0|OPFL_Chain|OPFL_MemRefs,
30136
2, MVT::i16, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
30138
OPC_CheckPredicate, 5,
30141
OPC_CheckFoldableChainNode,
30145
OPC_CheckType, MVT::i32,
30146
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30147
OPC_EmitMergeInputChains, 1, 0,
30148
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32rm), 0|OPFL_Chain|OPFL_MemRefs,
30149
2, MVT::i32, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
30151
OPC_CheckPredicate, 9,
30152
OPC_CheckPredicate, 10,
30155
OPC_CheckFoldableChainNode,
30159
OPC_CheckType, MVT::i64,
30160
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30161
OPC_EmitMergeInputChains, 1, 0,
30162
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64rm), 0|OPFL_Chain|OPFL_MemRefs,
30163
2, MVT::i64, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
30170
OPC_CheckOpcode, ISD::Constant,
30172
OPC_CheckPredicate, 11,
30174
OPC_SwitchType , 12, MVT::i16,
30175
OPC_EmitConvertToTarget, 1,
30176
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16ri8), 0,
30177
2, MVT::i16, MVT::i32, 2, 0, 2,
30179
OPC_EmitConvertToTarget, 1,
30180
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32ri8), 0,
30181
2, MVT::i32, MVT::i32, 2, 0, 2,
30183
OPC_EmitConvertToTarget, 1,
30184
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64ri8), 0,
30185
2, MVT::i64, MVT::i32, 2, 0, 2,
30188
OPC_CheckPredicate, 12,
30190
OPC_CheckType, MVT::i64,
30191
OPC_EmitConvertToTarget, 1,
30192
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64ri32), 0,
30193
2, MVT::i64, MVT::i32, 2, 0, 2,
30196
OPC_SwitchType , 12, MVT::i8,
30197
OPC_EmitConvertToTarget, 1,
30198
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8ri), 0,
30199
2, MVT::i8, MVT::i32, 2, 0, 2,
30201
OPC_EmitConvertToTarget, 1,
30202
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16ri), 0,
30203
2, MVT::i16, MVT::i32, 2, 0, 2,
30205
OPC_EmitConvertToTarget, 1,
30206
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32ri), 0,
30207
2, MVT::i32, MVT::i32, 2, 0, 2,
30211
OPC_CheckType, MVT::i8,
30212
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR8rr), 0,
30213
2, MVT::i8, MVT::i32, 2, 0, 1,
30215
OPC_CheckType, MVT::i16,
30216
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR16rr), 0,
30217
2, MVT::i16, MVT::i32, 2, 0, 1,
30219
OPC_CheckType, MVT::i32,
30220
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR32rr), 0,
30221
2, MVT::i32, MVT::i32, 2, 0, 1,
30223
OPC_CheckType, MVT::i64,
30224
OPC_MorphNodeTo, TARGET_OPCODE(X86::XOR64rr), 0,
30225
2, MVT::i64, MVT::i32, 2, 0, 1,
30228
68|128,3, X86ISD::AND,
30229
OPC_Scope, 5|128,1,
30232
OPC_CheckOpcode, ISD::LOAD,
30233
OPC_CheckPredicate, 4,
30235
OPC_CheckPredicate, 9,
30236
OPC_CheckPredicate, 10,
30239
OPC_CheckFoldableChainNode,
30242
OPC_CheckType, MVT::i8,
30243
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
30244
OPC_EmitMergeInputChains, 1, 1,
30245
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8rm), 0|OPFL_Chain|OPFL_MemRefs,
30246
2, MVT::i8, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
30248
OPC_CheckPredicate, 6,
30251
OPC_CheckFoldableChainNode,
30254
OPC_CheckType, MVT::i16,
30255
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
30256
OPC_EmitMergeInputChains, 1, 1,
30257
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16rm), 0|OPFL_Chain|OPFL_MemRefs,
30258
2, MVT::i16, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
30260
OPC_CheckPredicate, 5,
30263
OPC_CheckFoldableChainNode,
30266
OPC_CheckType, MVT::i32,
30267
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
30268
OPC_EmitMergeInputChains, 1, 1,
30269
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32rm), 0|OPFL_Chain|OPFL_MemRefs,
30270
2, MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
30272
OPC_CheckPredicate, 9,
30273
OPC_CheckPredicate, 10,
30276
OPC_CheckFoldableChainNode,
30279
OPC_CheckType, MVT::i64,
30280
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
30281
OPC_EmitMergeInputChains, 1, 1,
30282
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64rm), 0|OPFL_Chain|OPFL_MemRefs,
30283
2, MVT::i64, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
30287
OPC_CheckOpcode, ISD::LOAD,
30288
OPC_CheckPredicate, 4,
30290
OPC_CheckPredicate, 9,
30291
OPC_CheckPredicate, 10,
30294
OPC_CheckFoldableChainNode,
30298
OPC_CheckType, MVT::i8,
30299
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30300
OPC_EmitMergeInputChains, 1, 0,
30301
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8rm), 0|OPFL_Chain|OPFL_MemRefs,
30302
2, MVT::i8, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
30304
OPC_CheckPredicate, 6,
30307
OPC_CheckFoldableChainNode,
30311
OPC_CheckType, MVT::i16,
30312
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30313
OPC_EmitMergeInputChains, 1, 0,
30314
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16rm), 0|OPFL_Chain|OPFL_MemRefs,
30315
2, MVT::i16, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
30317
OPC_CheckPredicate, 5,
30320
OPC_CheckFoldableChainNode,
30324
OPC_CheckType, MVT::i32,
30325
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30326
OPC_EmitMergeInputChains, 1, 0,
30327
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32rm), 0|OPFL_Chain|OPFL_MemRefs,
30328
2, MVT::i32, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
30330
OPC_CheckPredicate, 9,
30331
OPC_CheckPredicate, 10,
30334
OPC_CheckFoldableChainNode,
30338
OPC_CheckType, MVT::i64,
30339
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30340
OPC_EmitMergeInputChains, 1, 0,
30341
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64rm), 0|OPFL_Chain|OPFL_MemRefs,
30342
2, MVT::i64, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
30349
OPC_CheckOpcode, ISD::Constant,
30351
OPC_CheckPredicate, 11,
30353
OPC_SwitchType , 12, MVT::i16,
30354
OPC_EmitConvertToTarget, 1,
30355
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16ri8), 0,
30356
2, MVT::i16, MVT::i32, 2, 0, 2,
30358
OPC_EmitConvertToTarget, 1,
30359
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32ri8), 0,
30360
2, MVT::i32, MVT::i32, 2, 0, 2,
30362
OPC_EmitConvertToTarget, 1,
30363
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64ri8), 0,
30364
2, MVT::i64, MVT::i32, 2, 0, 2,
30367
OPC_CheckPredicate, 12,
30369
OPC_CheckType, MVT::i64,
30370
OPC_EmitConvertToTarget, 1,
30371
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64ri32), 0,
30372
2, MVT::i64, MVT::i32, 2, 0, 2,
30375
OPC_SwitchType , 12, MVT::i8,
30376
OPC_EmitConvertToTarget, 1,
30377
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8ri), 0,
30378
2, MVT::i8, MVT::i32, 2, 0, 2,
30380
OPC_EmitConvertToTarget, 1,
30381
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16ri), 0,
30382
2, MVT::i16, MVT::i32, 2, 0, 2,
30384
OPC_EmitConvertToTarget, 1,
30385
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32ri), 0,
30386
2, MVT::i32, MVT::i32, 2, 0, 2,
30390
OPC_CheckType, MVT::i8,
30391
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND8rr), 0,
30392
2, MVT::i8, MVT::i32, 2, 0, 1,
30394
OPC_CheckType, MVT::i16,
30395
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND16rr), 0,
30396
2, MVT::i16, MVT::i32, 2, 0, 1,
30398
OPC_CheckType, MVT::i32,
30399
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND32rr), 0,
30400
2, MVT::i32, MVT::i32, 2, 0, 1,
30402
OPC_CheckType, MVT::i64,
30403
OPC_MorphNodeTo, TARGET_OPCODE(X86::AND64rr), 0,
30404
2, MVT::i64, MVT::i32, 2, 0, 1,
30407
80|128,1, ISD::FP_TO_SINT,
30410
OPC_CheckOpcode, ISD::LOAD,
30411
OPC_CheckPredicate, 4,
30412
OPC_CheckPredicate, 9,
30413
OPC_CheckPredicate, 10,
30417
OPC_SwitchType , 47, MVT::f64,
30419
OPC_SwitchType , 20, MVT::i64,
30420
OPC_CheckPatternPredicate, 1,
30421
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30422
OPC_EmitMergeInputChains, 1, 0,
30423
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTTSD2SI64rm), 0|OPFL_Chain|OPFL_MemRefs,
30424
1, MVT::i64, 5, 2, 3, 4, 5, 6,
30426
OPC_CheckPatternPredicate, 1,
30427
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30428
OPC_EmitMergeInputChains, 1, 0,
30429
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTTSD2SIrm), 0|OPFL_Chain|OPFL_MemRefs,
30430
1, MVT::i32, 5, 2, 3, 4, 5, 6,
30434
OPC_SwitchType , 20, MVT::i64,
30435
OPC_CheckPatternPredicate, 0,
30436
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30437
OPC_EmitMergeInputChains, 1, 0,
30438
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTTSS2SI64rm), 0|OPFL_Chain|OPFL_MemRefs,
30439
1, MVT::i64, 5, 2, 3, 4, 5, 6,
30441
OPC_CheckPatternPredicate, 0,
30442
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30443
OPC_EmitMergeInputChains, 1, 0,
30444
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTTSS2SIrm), 0|OPFL_Chain|OPFL_MemRefs,
30445
1, MVT::i32, 5, 2, 3, 4, 5, 6,
30451
OPC_CheckChild0Type, MVT::f64,
30452
OPC_SwitchType , 10, MVT::i64,
30453
OPC_CheckPatternPredicate, 1,
30454
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTTSD2SI64rr), 0,
30457
OPC_CheckPatternPredicate, 1,
30458
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTTSD2SIrr), 0,
30462
OPC_CheckChild0Type, MVT::f32,
30463
OPC_SwitchType , 10, MVT::i64,
30464
OPC_CheckPatternPredicate, 0,
30465
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTTSS2SI64rr), 0,
30468
OPC_CheckPatternPredicate, 0,
30469
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTTSS2SIrr), 0,
30473
OPC_CheckChild0Type, MVT::v4f32,
30474
OPC_CheckType, MVT::v4i32,
30475
OPC_CheckPatternPredicate, 1,
30476
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTPS2DQrr), 0,
30477
1, MVT::v4i32, 1, 0,
30479
OPC_CheckChild0Type, MVT::v2f64,
30480
OPC_CheckType, MVT::v2i32,
30481
OPC_CheckPatternPredicate, 1,
30482
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTTPD2PIrr), 0,
30483
1, MVT::v2i32, 1, 0,
30486
87|128,1, ISD::SINT_TO_FP,
30489
OPC_CheckOpcode, ISD::LOAD,
30490
OPC_CheckPredicate, 4,
30492
OPC_CheckPredicate, 9,
30493
OPC_CheckPredicate, 10,
30497
OPC_CheckType, MVT::i64,
30499
OPC_SwitchType , 20, MVT::f64,
30500
OPC_CheckPatternPredicate, 1,
30501
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30502
OPC_EmitMergeInputChains, 1, 0,
30503
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTSI2SD64rm), 0|OPFL_Chain|OPFL_MemRefs,
30504
1, MVT::f64, 5, 2, 3, 4, 5, 6,
30506
OPC_CheckPatternPredicate, 0,
30507
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30508
OPC_EmitMergeInputChains, 1, 0,
30509
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTSI2SS64rm), 0|OPFL_Chain|OPFL_MemRefs,
30510
1, MVT::f32, 5, 2, 3, 4, 5, 6,
30513
OPC_CheckPredicate, 5,
30517
OPC_CheckType, MVT::i32,
30519
OPC_SwitchType , 20, MVT::f32,
30520
OPC_CheckPatternPredicate, 0,
30521
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30522
OPC_EmitMergeInputChains, 1, 0,
30523
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTSI2SSrm), 0|OPFL_Chain|OPFL_MemRefs,
30524
1, MVT::f32, 5, 2, 3, 4, 5, 6,
30526
OPC_CheckPatternPredicate, 1,
30527
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30528
OPC_EmitMergeInputChains, 1, 0,
30529
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTSI2SDrm), 0|OPFL_Chain|OPFL_MemRefs,
30530
1, MVT::f64, 5, 2, 3, 4, 5, 6,
30536
OPC_CheckChild0Type, MVT::i64,
30537
OPC_SwitchType , 10, MVT::f64,
30538
OPC_CheckPatternPredicate, 1,
30539
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTSI2SD64rr), 0,
30542
OPC_CheckPatternPredicate, 0,
30543
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTSI2SS64rr), 0,
30547
OPC_CheckChild0Type, MVT::i32,
30548
OPC_SwitchType , 10, MVT::f32,
30549
OPC_CheckPatternPredicate, 0,
30550
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTSI2SSrr), 0,
30553
OPC_CheckPatternPredicate, 1,
30554
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTSI2SDrr), 0,
30558
OPC_CheckChild0Type, MVT::v4i32,
30559
OPC_CheckType, MVT::v4f32,
30560
OPC_CheckPatternPredicate, 1,
30561
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTDQ2PSrr), 0,
30562
1, MVT::v4f32, 1, 0,
30564
OPC_CheckChild0Type, MVT::v2i32,
30565
OPC_CheckType, MVT::v2f64,
30566
OPC_CheckPatternPredicate, 1,
30567
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_CVTPI2PDrr), 0,
30568
1, MVT::v2f64, 1, 0,
30571
67|128,5, ISD::BIT_CONVERT,
30572
OPC_Scope, 3|128,1,
30574
OPC_SwitchOpcode , 68, ISD::LOAD,
30575
OPC_CheckPredicate, 4,
30577
OPC_CheckPredicate, 9,
30578
OPC_CheckPredicate, 10,
30582
OPC_CheckType, MVT::i64,
30584
OPC_CheckType, MVT::f64,
30585
OPC_CheckPatternPredicate, 1,
30586
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30587
OPC_EmitMergeInputChains, 1, 0,
30588
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64toSDrm), 0|OPFL_Chain|OPFL_MemRefs,
30589
1, MVT::f64, 5, 2, 3, 4, 5, 6,
30591
OPC_CheckPredicate, 5,
30595
OPC_CheckType, MVT::i32,
30597
OPC_CheckType, MVT::f32,
30598
OPC_CheckPatternPredicate, 1,
30599
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
30600
OPC_EmitMergeInputChains, 1, 0,
30601
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDI2SSrm), 0|OPFL_Chain|OPFL_MemRefs,
30602
1, MVT::f32, 5, 2, 3, 4, 5, 6,
30604
55, ISD::EXTRACT_VECTOR_ELT,
30606
OPC_CheckChild0Type, MVT::v2i64,
30608
OPC_CheckInteger, 0,
30610
OPC_CheckType, MVT::i64,
30612
OPC_SwitchType , 10, MVT::v1i64,
30613
OPC_CheckPatternPredicate, 1,
30614
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVDQ2Qrr), 0,
30615
1, MVT::v1i64, 1, 0,
30617
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVDQ2Qrr), 0,
30618
1, MVT::v2i32, 1, 0,
30620
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVDQ2Qrr), 0,
30621
1, MVT::v4i16, 1, 0,
30623
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVDQ2Qrr), 0,
30624
1, MVT::v8i8, 1, 0,
30630
OPC_CheckChild0Type, MVT::v4i32,
30631
OPC_SwitchType , 5, MVT::v2i64,
30632
OPC_CheckPatternPredicate, 1,
30633
OPC_CompleteMatch, 1, 0,
30636
OPC_CheckPatternPredicate, 1,
30637
OPC_CompleteMatch, 1, 0,
30640
OPC_CheckPatternPredicate, 1,
30641
OPC_CompleteMatch, 1, 0,
30644
OPC_CheckPatternPredicate, 1,
30645
OPC_CompleteMatch, 1, 0,
30648
OPC_CheckPatternPredicate, 1,
30649
OPC_CompleteMatch, 1, 0,
30653
OPC_CheckChild0Type, MVT::v8i16,
30654
OPC_SwitchType , 5, MVT::v2i64,
30655
OPC_CheckPatternPredicate, 1,
30656
OPC_CompleteMatch, 1, 0,
30659
OPC_CheckPatternPredicate, 1,
30660
OPC_CompleteMatch, 1, 0,
30663
OPC_CheckPatternPredicate, 1,
30664
OPC_CompleteMatch, 1, 0,
30667
OPC_CheckPatternPredicate, 1,
30668
OPC_CompleteMatch, 1, 0,
30671
OPC_CheckPatternPredicate, 1,
30672
OPC_CompleteMatch, 1, 0,
30676
OPC_CheckChild0Type, MVT::v16i8,
30677
OPC_SwitchType , 5, MVT::v2i64,
30678
OPC_CheckPatternPredicate, 1,
30679
OPC_CompleteMatch, 1, 0,
30682
OPC_CheckPatternPredicate, 1,
30683
OPC_CompleteMatch, 1, 0,
30686
OPC_CheckPatternPredicate, 1,
30687
OPC_CompleteMatch, 1, 0,
30690
OPC_CheckPatternPredicate, 1,
30691
OPC_CompleteMatch, 1, 0,
30694
OPC_CheckPatternPredicate, 1,
30695
OPC_CompleteMatch, 1, 0,
30699
OPC_CheckChild0Type, MVT::v2f64,
30700
OPC_SwitchType , 5, MVT::v2i64,
30701
OPC_CheckPatternPredicate, 1,
30702
OPC_CompleteMatch, 1, 0,
30705
OPC_CheckPatternPredicate, 1,
30706
OPC_CompleteMatch, 1, 0,
30709
OPC_CheckPatternPredicate, 1,
30710
OPC_CompleteMatch, 1, 0,
30713
OPC_CheckPatternPredicate, 1,
30714
OPC_CompleteMatch, 1, 0,
30717
OPC_CheckPatternPredicate, 1,
30718
OPC_CompleteMatch, 1, 0,
30722
OPC_CheckChild0Type, MVT::v4f32,
30723
OPC_SwitchType , 5, MVT::v2i64,
30724
OPC_CheckPatternPredicate, 1,
30725
OPC_CompleteMatch, 1, 0,
30728
OPC_CheckPatternPredicate, 1,
30729
OPC_CompleteMatch, 1, 0,
30732
OPC_CheckPatternPredicate, 1,
30733
OPC_CompleteMatch, 1, 0,
30736
OPC_CheckPatternPredicate, 1,
30737
OPC_CompleteMatch, 1, 0,
30740
OPC_CheckPatternPredicate, 1,
30741
OPC_CompleteMatch, 1, 0,
30745
OPC_CheckChild0Type, MVT::v2i64,
30746
OPC_SwitchType , 5, MVT::v4i32,
30747
OPC_CheckPatternPredicate, 1,
30748
OPC_CompleteMatch, 1, 0,
30751
OPC_CheckPatternPredicate, 1,
30752
OPC_CompleteMatch, 1, 0,
30755
OPC_CheckPatternPredicate, 1,
30756
OPC_CompleteMatch, 1, 0,
30759
OPC_CheckPatternPredicate, 1,
30760
OPC_CompleteMatch, 1, 0,
30763
OPC_CheckPatternPredicate, 1,
30764
OPC_CompleteMatch, 1, 0,
30768
OPC_CheckChild0Type, MVT::v1i64,
30769
OPC_SwitchType , 3, MVT::v8i8,
30770
OPC_CompleteMatch, 1, 0,
30773
OPC_CompleteMatch, 1, 0,
30776
OPC_CompleteMatch, 1, 0,
30779
OPC_CompleteMatch, 1, 0,
30782
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVD64from64rr), 0,
30785
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ2FR64rr), 0,
30789
OPC_CheckChild0Type, MVT::v2i32,
30790
OPC_SwitchType , 3, MVT::v8i8,
30791
OPC_CompleteMatch, 1, 0,
30794
OPC_CompleteMatch, 1, 0,
30797
OPC_CompleteMatch, 1, 0,
30800
OPC_CompleteMatch, 1, 0,
30803
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVD64from64rr), 0,
30806
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ2FR64rr), 0,
30810
OPC_CheckChild0Type, MVT::v2f32,
30811
OPC_SwitchType , 3, MVT::v8i8,
30812
OPC_CompleteMatch, 1, 0,
30815
OPC_CompleteMatch, 1, 0,
30818
OPC_CompleteMatch, 1, 0,
30821
OPC_CompleteMatch, 1, 0,
30824
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVD64from64rr), 0,
30828
OPC_CheckChild0Type, MVT::v4i16,
30829
OPC_SwitchType , 3, MVT::v8i8,
30830
OPC_CompleteMatch, 1, 0,
30833
OPC_CompleteMatch, 1, 0,
30836
OPC_CompleteMatch, 1, 0,
30839
OPC_CompleteMatch, 1, 0,
30842
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVD64from64rr), 0,
30845
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ2FR64rr), 0,
30849
OPC_CheckChild0Type, MVT::v8i8,
30850
OPC_SwitchType , 3, MVT::v4i16,
30851
OPC_CompleteMatch, 1, 0,
30854
OPC_CompleteMatch, 1, 0,
30857
OPC_CompleteMatch, 1, 0,
30860
OPC_CompleteMatch, 1, 0,
30863
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVD64from64rr), 0,
30866
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVQ2FR64rr), 0,
30870
OPC_CheckChild0Type, MVT::i64,
30871
OPC_SwitchType , 10, MVT::f64,
30872
OPC_CheckPatternPredicate, 1,
30873
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64toSDrr), 0,
30876
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVD64to64rr), 0,
30877
1, MVT::v1i64, 1, 0,
30879
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVD64to64rr), 0,
30880
1, MVT::v2i32, 1, 0,
30882
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVD64to64rr), 0,
30883
1, MVT::v2f32, 1, 0,
30885
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVD64to64rr), 0,
30886
1, MVT::v4i16, 1, 0,
30888
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_MOVD64to64rr), 0,
30889
1, MVT::v8i8, 1, 0,
30892
OPC_CheckChild0Type, MVT::f64,
30893
OPC_CheckType, MVT::i64,
30894
OPC_CheckPatternPredicate, 1,
30895
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSDto64rr), 0,
30898
OPC_CheckChild0Type, MVT::i32,
30899
OPC_CheckType, MVT::f32,
30900
OPC_CheckPatternPredicate, 1,
30901
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVDI2SSrr), 0,
30904
OPC_CheckChild0Type, MVT::f32,
30905
OPC_CheckType, MVT::i32,
30906
OPC_CheckPatternPredicate, 1,
30907
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSS2DIrr), 0,
30911
109, X86ISD::UCOMI,
30914
OPC_CheckChild0Type, MVT::v4f32,
30917
OPC_CheckOpcode, ISD::LOAD,
30918
OPC_CheckPredicate, 4,
30919
OPC_CheckPredicate, 9,
30922
OPC_CheckFoldableChainNode,
30925
OPC_CheckPatternPredicate, 0,
30926
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
30927
OPC_EmitMergeInputChains, 1, 1,
30928
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_UCOMISSrm), 0|OPFL_Chain|OPFL_MemRefs,
30929
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
30932
OPC_CheckPatternPredicate, 0,
30933
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_UCOMISSrr), 0,
30934
1, MVT::i32, 2, 0, 1,
30937
OPC_CheckChild0Type, MVT::v2f64,
30940
OPC_CheckOpcode, ISD::LOAD,
30941
OPC_CheckPredicate, 4,
30942
OPC_CheckPredicate, 9,
30945
OPC_CheckFoldableChainNode,
30948
OPC_CheckPatternPredicate, 1,
30949
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
30950
OPC_EmitMergeInputChains, 1, 1,
30951
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_UCOMISDrm), 0|OPFL_Chain|OPFL_MemRefs,
30952
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
30955
OPC_CheckPatternPredicate, 1,
30956
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_UCOMISDrr), 0,
30957
1, MVT::i32, 2, 0, 1,
30963
OPC_CheckChild0Type, MVT::v4f32,
30966
OPC_CheckOpcode, ISD::LOAD,
30967
OPC_CheckPredicate, 4,
30968
OPC_CheckPredicate, 9,
30971
OPC_CheckFoldableChainNode,
30974
OPC_CheckPatternPredicate, 0,
30975
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
30976
OPC_EmitMergeInputChains, 1, 1,
30977
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_COMISSrm), 0|OPFL_Chain|OPFL_MemRefs,
30978
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
30981
OPC_CheckPatternPredicate, 0,
30982
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_COMISSrr), 0,
30983
1, MVT::i32, 2, 0, 1,
30986
OPC_CheckChild0Type, MVT::v2f64,
30989
OPC_CheckOpcode, ISD::LOAD,
30990
OPC_CheckPredicate, 4,
30991
OPC_CheckPredicate, 9,
30994
OPC_CheckFoldableChainNode,
30997
OPC_CheckPatternPredicate, 1,
30998
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
30999
OPC_EmitMergeInputChains, 1, 1,
31000
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_COMISDrm), 0|OPFL_Chain|OPFL_MemRefs,
31001
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
31004
OPC_CheckPatternPredicate, 1,
31005
OPC_MorphNodeTo, TARGET_OPCODE(X86::Int_COMISDrr), 0,
31006
1, MVT::i32, 2, 0, 1,
31009
35|128,1, X86ISD::FAND,
31013
OPC_CheckOpcode, ISD::LOAD,
31014
OPC_CheckPredicate, 4,
31015
OPC_CheckPredicate, 9,
31016
OPC_CheckPredicate, 24,
31019
OPC_CheckFoldableChainNode,
31022
OPC_SwitchType , 21, MVT::f32,
31023
OPC_CheckPatternPredicate, 0,
31024
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31025
OPC_EmitMergeInputChains, 1, 1,
31026
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsANDPSrm), 0|OPFL_Chain|OPFL_MemRefs,
31027
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
31029
OPC_CheckPatternPredicate, 1,
31030
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31031
OPC_EmitMergeInputChains, 1, 1,
31032
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsANDPDrm), 0|OPFL_Chain|OPFL_MemRefs,
31033
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
31037
OPC_CheckOpcode, ISD::LOAD,
31038
OPC_CheckPredicate, 4,
31039
OPC_CheckPredicate, 9,
31040
OPC_CheckPredicate, 24,
31043
OPC_CheckFoldableChainNode,
31047
OPC_SwitchType , 21, MVT::f32,
31048
OPC_CheckPatternPredicate, 0,
31049
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31050
OPC_EmitMergeInputChains, 1, 0,
31051
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsANDPSrm), 0|OPFL_Chain|OPFL_MemRefs,
31052
1, MVT::f32, 6, 2, 3, 4, 5, 6, 7,
31054
OPC_CheckPatternPredicate, 1,
31055
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31056
OPC_EmitMergeInputChains, 1, 0,
31057
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsANDPDrm), 0|OPFL_Chain|OPFL_MemRefs,
31058
1, MVT::f64, 6, 2, 3, 4, 5, 6, 7,
31063
OPC_SwitchType , 11, MVT::f32,
31064
OPC_CheckPatternPredicate, 0,
31065
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsANDPSrr), 0,
31066
1, MVT::f32, 2, 0, 1,
31068
OPC_CheckPatternPredicate, 1,
31069
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsANDPDrr), 0,
31070
1, MVT::f64, 2, 0, 1,
31073
35|128,1, X86ISD::FOR,
31077
OPC_CheckOpcode, ISD::LOAD,
31078
OPC_CheckPredicate, 4,
31079
OPC_CheckPredicate, 9,
31080
OPC_CheckPredicate, 24,
31083
OPC_CheckFoldableChainNode,
31086
OPC_SwitchType , 21, MVT::f32,
31087
OPC_CheckPatternPredicate, 0,
31088
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31089
OPC_EmitMergeInputChains, 1, 1,
31090
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsORPSrm), 0|OPFL_Chain|OPFL_MemRefs,
31091
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
31093
OPC_CheckPatternPredicate, 1,
31094
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31095
OPC_EmitMergeInputChains, 1, 1,
31096
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsORPDrm), 0|OPFL_Chain|OPFL_MemRefs,
31097
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
31101
OPC_CheckOpcode, ISD::LOAD,
31102
OPC_CheckPredicate, 4,
31103
OPC_CheckPredicate, 9,
31104
OPC_CheckPredicate, 24,
31107
OPC_CheckFoldableChainNode,
31111
OPC_SwitchType , 21, MVT::f32,
31112
OPC_CheckPatternPredicate, 0,
31113
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31114
OPC_EmitMergeInputChains, 1, 0,
31115
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsORPSrm), 0|OPFL_Chain|OPFL_MemRefs,
31116
1, MVT::f32, 6, 2, 3, 4, 5, 6, 7,
31118
OPC_CheckPatternPredicate, 1,
31119
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31120
OPC_EmitMergeInputChains, 1, 0,
31121
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsORPDrm), 0|OPFL_Chain|OPFL_MemRefs,
31122
1, MVT::f64, 6, 2, 3, 4, 5, 6, 7,
31127
OPC_SwitchType , 11, MVT::f32,
31128
OPC_CheckPatternPredicate, 0,
31129
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsORPSrr), 0,
31130
1, MVT::f32, 2, 0, 1,
31132
OPC_CheckPatternPredicate, 1,
31133
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsORPDrr), 0,
31134
1, MVT::f64, 2, 0, 1,
31137
35|128,1, X86ISD::FXOR,
31141
OPC_CheckOpcode, ISD::LOAD,
31142
OPC_CheckPredicate, 4,
31143
OPC_CheckPredicate, 9,
31144
OPC_CheckPredicate, 24,
31147
OPC_CheckFoldableChainNode,
31150
OPC_SwitchType , 21, MVT::f32,
31151
OPC_CheckPatternPredicate, 0,
31152
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31153
OPC_EmitMergeInputChains, 1, 1,
31154
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsXORPSrm), 0|OPFL_Chain|OPFL_MemRefs,
31155
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
31157
OPC_CheckPatternPredicate, 1,
31158
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31159
OPC_EmitMergeInputChains, 1, 1,
31160
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsXORPDrm), 0|OPFL_Chain|OPFL_MemRefs,
31161
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
31165
OPC_CheckOpcode, ISD::LOAD,
31166
OPC_CheckPredicate, 4,
31167
OPC_CheckPredicate, 9,
31168
OPC_CheckPredicate, 24,
31171
OPC_CheckFoldableChainNode,
31175
OPC_SwitchType , 21, MVT::f32,
31176
OPC_CheckPatternPredicate, 0,
31177
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31178
OPC_EmitMergeInputChains, 1, 0,
31179
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsXORPSrm), 0|OPFL_Chain|OPFL_MemRefs,
31180
1, MVT::f32, 6, 2, 3, 4, 5, 6, 7,
31182
OPC_CheckPatternPredicate, 1,
31183
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31184
OPC_EmitMergeInputChains, 1, 0,
31185
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsXORPDrm), 0|OPFL_Chain|OPFL_MemRefs,
31186
1, MVT::f64, 6, 2, 3, 4, 5, 6, 7,
31191
OPC_SwitchType , 11, MVT::f32,
31192
OPC_CheckPatternPredicate, 0,
31193
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsXORPSrr), 0,
31194
1, MVT::f32, 2, 0, 1,
31196
OPC_CheckPatternPredicate, 1,
31197
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsXORPDrr), 0,
31198
1, MVT::f64, 2, 0, 1,
31201
63|128,1, X86ISD::FMAX,
31203
OPC_Scope, 2|128,1,
31205
OPC_CheckOpcode, ISD::LOAD,
31206
OPC_CheckPredicate, 4,
31207
OPC_CheckPredicate, 9,
31211
OPC_CheckFoldableChainNode,
31214
OPC_CheckType, MVT::f32,
31215
OPC_CheckPatternPredicate, 0,
31216
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31217
OPC_EmitMergeInputChains, 1, 1,
31218
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXSSrm), 0|OPFL_Chain|OPFL_MemRefs,
31219
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
31221
OPC_CheckPredicate, 24,
31224
OPC_CheckFoldableChainNode,
31227
OPC_CheckType, MVT::v4f32,
31228
OPC_CheckPatternPredicate, 0,
31229
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31230
OPC_EmitMergeInputChains, 1, 1,
31231
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXPSrm), 0|OPFL_Chain|OPFL_MemRefs,
31232
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
31236
OPC_CheckFoldableChainNode,
31239
OPC_CheckType, MVT::f64,
31240
OPC_CheckPatternPredicate, 1,
31241
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31242
OPC_EmitMergeInputChains, 1, 1,
31243
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXSDrm), 0|OPFL_Chain|OPFL_MemRefs,
31244
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
31246
OPC_CheckPredicate, 24,
31249
OPC_CheckFoldableChainNode,
31252
OPC_CheckType, MVT::v2f64,
31253
OPC_CheckPatternPredicate, 1,
31254
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31255
OPC_EmitMergeInputChains, 1, 1,
31256
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXPDrm), 0|OPFL_Chain|OPFL_MemRefs,
31257
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
31261
OPC_SwitchType , 11, MVT::f32,
31262
OPC_CheckPatternPredicate, 0,
31263
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXSSrr), 0,
31264
1, MVT::f32, 2, 0, 1,
31266
OPC_CheckPatternPredicate, 0,
31267
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXPSrr), 0,
31268
1, MVT::v4f32, 2, 0, 1,
31270
OPC_CheckPatternPredicate, 1,
31271
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXSDrr), 0,
31272
1, MVT::f64, 2, 0, 1,
31274
OPC_CheckPatternPredicate, 1,
31275
OPC_MorphNodeTo, TARGET_OPCODE(X86::MAXPDrr), 0,
31276
1, MVT::v2f64, 2, 0, 1,
31279
63|128,1, X86ISD::FMIN,
31281
OPC_Scope, 2|128,1,
31283
OPC_CheckOpcode, ISD::LOAD,
31284
OPC_CheckPredicate, 4,
31285
OPC_CheckPredicate, 9,
31289
OPC_CheckFoldableChainNode,
31292
OPC_CheckType, MVT::f32,
31293
OPC_CheckPatternPredicate, 0,
31294
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31295
OPC_EmitMergeInputChains, 1, 1,
31296
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINSSrm), 0|OPFL_Chain|OPFL_MemRefs,
31297
1, MVT::f32, 6, 0, 3, 4, 5, 6, 7,
31299
OPC_CheckPredicate, 24,
31302
OPC_CheckFoldableChainNode,
31305
OPC_CheckType, MVT::v4f32,
31306
OPC_CheckPatternPredicate, 0,
31307
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31308
OPC_EmitMergeInputChains, 1, 1,
31309
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINPSrm), 0|OPFL_Chain|OPFL_MemRefs,
31310
1, MVT::v4f32, 6, 0, 3, 4, 5, 6, 7,
31314
OPC_CheckFoldableChainNode,
31317
OPC_CheckType, MVT::f64,
31318
OPC_CheckPatternPredicate, 1,
31319
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31320
OPC_EmitMergeInputChains, 1, 1,
31321
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINSDrm), 0|OPFL_Chain|OPFL_MemRefs,
31322
1, MVT::f64, 6, 0, 3, 4, 5, 6, 7,
31324
OPC_CheckPredicate, 24,
31327
OPC_CheckFoldableChainNode,
31330
OPC_CheckType, MVT::v2f64,
31331
OPC_CheckPatternPredicate, 1,
31332
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31333
OPC_EmitMergeInputChains, 1, 1,
31334
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINPDrm), 0|OPFL_Chain|OPFL_MemRefs,
31335
1, MVT::v2f64, 6, 0, 3, 4, 5, 6, 7,
31339
OPC_SwitchType , 11, MVT::f32,
31340
OPC_CheckPatternPredicate, 0,
31341
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINSSrr), 0,
31342
1, MVT::f32, 2, 0, 1,
31344
OPC_CheckPatternPredicate, 0,
31345
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINPSrr), 0,
31346
1, MVT::v4f32, 2, 0, 1,
31348
OPC_CheckPatternPredicate, 1,
31349
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINSDrr), 0,
31350
1, MVT::f64, 2, 0, 1,
31352
OPC_CheckPatternPredicate, 1,
31353
OPC_MorphNodeTo, TARGET_OPCODE(X86::MINPDrr), 0,
31354
1, MVT::v2f64, 2, 0, 1,
31357
87|128,1, ISD::FSQRT,
31360
OPC_CheckOpcode, ISD::LOAD,
31361
OPC_CheckPredicate, 4,
31362
OPC_CheckPredicate, 9,
31368
OPC_CheckType, MVT::f32,
31369
OPC_CheckPatternPredicate, 19,
31370
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31371
OPC_EmitMergeInputChains, 1, 0,
31372
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTSSm), 0|OPFL_Chain|OPFL_MemRefs,
31373
1, MVT::f32, 5, 2, 3, 4, 5, 6,
31375
OPC_CheckPredicate, 24,
31380
OPC_CheckType, MVT::v4f32,
31381
OPC_CheckPatternPredicate, 0,
31382
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31383
OPC_EmitMergeInputChains, 1, 0,
31384
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTPSm), 0|OPFL_Chain|OPFL_MemRefs,
31385
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
31391
OPC_CheckType, MVT::f64,
31392
OPC_CheckPatternPredicate, 1,
31393
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31394
OPC_EmitMergeInputChains, 1, 0,
31395
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTSDm), 0|OPFL_Chain|OPFL_MemRefs,
31396
1, MVT::f64, 5, 2, 3, 4, 5, 6,
31398
OPC_CheckPredicate, 24,
31403
OPC_CheckType, MVT::v2f64,
31404
OPC_CheckPatternPredicate, 1,
31405
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31406
OPC_EmitMergeInputChains, 1, 0,
31407
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTPDm), 0|OPFL_Chain|OPFL_MemRefs,
31408
1, MVT::v2f64, 5, 2, 3, 4, 5, 6,
31412
OPC_SwitchType , 24, MVT::f32,
31414
OPC_CheckPatternPredicate, 6,
31415
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRT_Fp32), 0,
31418
OPC_CheckPatternPredicate, 0,
31419
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTSSr), 0,
31424
OPC_CheckPatternPredicate, 7,
31425
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRT_Fp64), 0,
31428
OPC_CheckPatternPredicate, 1,
31429
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTSDr), 0,
31433
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRT_Fp80), 0,
31436
OPC_CheckPatternPredicate, 0,
31437
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTPSr), 0,
31438
1, MVT::v4f32, 1, 0,
31440
OPC_CheckPatternPredicate, 1,
31441
OPC_MorphNodeTo, TARGET_OPCODE(X86::SQRTPDr), 0,
31442
1, MVT::v2f64, 1, 0,
31445
97, X86ISD::FRSQRT,
31448
OPC_CheckOpcode, ISD::LOAD,
31449
OPC_CheckPredicate, 4,
31450
OPC_CheckPredicate, 9,
31456
OPC_CheckType, MVT::f32,
31457
OPC_CheckPatternPredicate, 19,
31458
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31459
OPC_EmitMergeInputChains, 1, 0,
31460
OPC_MorphNodeTo, TARGET_OPCODE(X86::RSQRTSSm), 0|OPFL_Chain|OPFL_MemRefs,
31461
1, MVT::f32, 5, 2, 3, 4, 5, 6,
31463
OPC_CheckPredicate, 24,
31468
OPC_CheckType, MVT::v4f32,
31469
OPC_CheckPatternPredicate, 0,
31470
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31471
OPC_EmitMergeInputChains, 1, 0,
31472
OPC_MorphNodeTo, TARGET_OPCODE(X86::RSQRTPSm), 0|OPFL_Chain|OPFL_MemRefs,
31473
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
31477
OPC_SwitchType , 10, MVT::f32,
31478
OPC_CheckPatternPredicate, 0,
31479
OPC_MorphNodeTo, TARGET_OPCODE(X86::RSQRTSSr), 0,
31482
OPC_CheckPatternPredicate, 0,
31483
OPC_MorphNodeTo, TARGET_OPCODE(X86::RSQRTPSr), 0,
31484
1, MVT::v4f32, 1, 0,
31490
OPC_CheckOpcode, ISD::LOAD,
31491
OPC_CheckPredicate, 4,
31492
OPC_CheckPredicate, 9,
31498
OPC_CheckType, MVT::f32,
31499
OPC_CheckPatternPredicate, 19,
31500
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31501
OPC_EmitMergeInputChains, 1, 0,
31502
OPC_MorphNodeTo, TARGET_OPCODE(X86::RCPSSm), 0|OPFL_Chain|OPFL_MemRefs,
31503
1, MVT::f32, 5, 2, 3, 4, 5, 6,
31505
OPC_CheckPredicate, 24,
31510
OPC_CheckType, MVT::v4f32,
31511
OPC_CheckPatternPredicate, 0,
31512
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31513
OPC_EmitMergeInputChains, 1, 0,
31514
OPC_MorphNodeTo, TARGET_OPCODE(X86::RCPPSm), 0|OPFL_Chain|OPFL_MemRefs,
31515
1, MVT::v4f32, 5, 2, 3, 4, 5, 6,
31519
OPC_SwitchType , 10, MVT::f32,
31520
OPC_CheckPatternPredicate, 0,
31521
OPC_MorphNodeTo, TARGET_OPCODE(X86::RCPSSr), 0,
31524
OPC_CheckPatternPredicate, 0,
31525
OPC_MorphNodeTo, TARGET_OPCODE(X86::RCPPSr), 0,
31526
1, MVT::v4f32, 1, 0,
31529
103, ISD::FP_ROUND,
31532
OPC_CheckOpcode, ISD::LOAD,
31533
OPC_CheckPredicate, 4,
31534
OPC_CheckPredicate, 9,
31535
OPC_CheckPredicate, 10,
31539
OPC_CheckType, MVT::f64,
31541
OPC_CheckType, MVT::f32,
31542
OPC_CheckPatternPredicate, 12,
31543
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31544
OPC_EmitMergeInputChains, 1, 0,
31545
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTSD2SSrm), 0|OPFL_Chain|OPFL_MemRefs,
31546
1, MVT::f32, 5, 2, 3, 4, 5, 6,
31550
OPC_CheckChild0Type, MVT::f64,
31551
OPC_CheckType, MVT::f32,
31553
OPC_CheckPatternPredicate, 6,
31554
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV_Fp6432), 0,
31557
OPC_CheckPatternPredicate, 1,
31558
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTSD2SSrr), 0,
31562
OPC_CheckChild0Type, MVT::f80,
31563
OPC_SwitchType , 10, MVT::f32,
31564
OPC_CheckPatternPredicate, 6,
31565
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV_Fp8032), 0,
31568
OPC_CheckPatternPredicate, 7,
31569
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV_Fp8064), 0,
31574
103, ISD::FP_EXTEND,
31577
OPC_CheckOpcode, ISD::LOAD,
31578
OPC_CheckPredicate, 4,
31579
OPC_CheckPredicate, 9,
31580
OPC_CheckPredicate, 10,
31584
OPC_CheckType, MVT::f32,
31586
OPC_CheckType, MVT::f64,
31587
OPC_CheckPatternPredicate, 1,
31588
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31589
OPC_EmitMergeInputChains, 1, 0,
31590
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTSS2SDrm), 0|OPFL_Chain|OPFL_MemRefs,
31591
1, MVT::f64, 5, 2, 3, 4, 5, 6,
31595
OPC_CheckChild0Type, MVT::f32,
31596
OPC_SwitchType , 24, MVT::f64,
31598
OPC_CheckPatternPredicate, 6,
31599
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV_Fp3264), 0,
31602
OPC_CheckPatternPredicate, 1,
31603
OPC_MorphNodeTo, TARGET_OPCODE(X86::CVTSS2SDrr), 0,
31607
OPC_CheckPatternPredicate, 6,
31608
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV_Fp3280), 0,
31612
OPC_CheckChild0Type, MVT::f64,
31613
OPC_CheckType, MVT::f80,
31614
OPC_CheckPatternPredicate, 7,
31615
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV_Fp6480), 0,
31619
92, X86ISD::PCMPEQQ,
31623
OPC_CheckOpcode, ISD::LOAD,
31624
OPC_CheckPredicate, 4,
31625
OPC_CheckPredicate, 9,
31626
OPC_CheckPredicate, 24,
31629
OPC_CheckFoldableChainNode,
31632
OPC_CheckType, MVT::v2i64,
31633
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31634
OPC_EmitMergeInputChains, 1, 1,
31635
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQQrm), 0|OPFL_Chain|OPFL_MemRefs,
31636
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
31639
OPC_CheckOpcode, ISD::LOAD,
31640
OPC_CheckPredicate, 4,
31641
OPC_CheckPredicate, 9,
31642
OPC_CheckPredicate, 24,
31645
OPC_CheckFoldableChainNode,
31649
OPC_CheckType, MVT::v2i64,
31650
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31651
OPC_EmitMergeInputChains, 1, 0,
31652
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQQrm), 0|OPFL_Chain|OPFL_MemRefs,
31653
1, MVT::v2i64, 6, 2, 3, 4, 5, 6, 7,
31657
OPC_CheckType, MVT::v2i64,
31658
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPEQQrr), 0,
31659
1, MVT::v2i64, 2, 0, 1,
31665
OPC_CheckOpcode, ISD::LOAD,
31666
OPC_CheckPredicate, 4,
31667
OPC_CheckPredicate, 9,
31670
OPC_CheckFoldableChainNode,
31673
OPC_CheckPatternPredicate, 4,
31674
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31675
OPC_EmitMergeInputChains, 1, 1,
31676
OPC_MorphNodeTo, TARGET_OPCODE(X86::PTESTrm), 0|OPFL_Chain|OPFL_MemRefs,
31677
1, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
31680
OPC_CheckPatternPredicate, 4,
31681
OPC_MorphNodeTo, TARGET_OPCODE(X86::PTESTrr), 0,
31682
1, MVT::i32, 2, 0, 1,
31684
53, X86ISD::PCMPGTQ,
31688
OPC_CheckOpcode, ISD::LOAD,
31689
OPC_CheckPredicate, 4,
31690
OPC_CheckPredicate, 9,
31691
OPC_CheckPredicate, 24,
31694
OPC_CheckFoldableChainNode,
31697
OPC_CheckType, MVT::v2i64,
31698
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
31699
OPC_EmitMergeInputChains, 1, 1,
31700
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTQrm), 0|OPFL_Chain|OPFL_MemRefs,
31701
1, MVT::v2i64, 6, 0, 3, 4, 5, 6, 7,
31704
OPC_CheckType, MVT::v2i64,
31705
OPC_MorphNodeTo, TARGET_OPCODE(X86::PCMPGTQrr), 0,
31706
1, MVT::v2i64, 2, 0, 1,
31708
114, ISD::ATOMIC_SWAP,
31710
OPC_CheckPredicate, 72,
31715
OPC_CheckType, MVT::i32,
31716
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31717
OPC_EmitMergeInputChains, 1, 0,
31718
OPC_MorphNodeTo, TARGET_OPCODE(X86::XCHG32rm), 0|OPFL_Chain|OPFL_MemRefs,
31719
1, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
31721
OPC_CheckPredicate, 73,
31726
OPC_CheckType, MVT::i16,
31727
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31728
OPC_EmitMergeInputChains, 1, 0,
31729
OPC_MorphNodeTo, TARGET_OPCODE(X86::XCHG16rm), 0|OPFL_Chain|OPFL_MemRefs,
31730
1, MVT::i16, 6, 2, 3, 4, 5, 6, 7,
31732
OPC_CheckPredicate, 74,
31737
OPC_CheckType, MVT::i8,
31738
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31739
OPC_EmitMergeInputChains, 1, 0,
31740
OPC_MorphNodeTo, TARGET_OPCODE(X86::XCHG8rm), 0|OPFL_Chain|OPFL_MemRefs,
31741
1, MVT::i8, 6, 2, 3, 4, 5, 6, 7,
31743
OPC_CheckPredicate, 75,
31748
OPC_CheckType, MVT::i64,
31749
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31750
OPC_EmitMergeInputChains, 1, 0,
31751
OPC_MorphNodeTo, TARGET_OPCODE(X86::XCHG64rm), 0|OPFL_Chain|OPFL_MemRefs,
31752
1, MVT::i64, 6, 2, 3, 4, 5, 6, 7,
31754
114, ISD::ATOMIC_LOAD_ADD,
31756
OPC_CheckPredicate, 76,
31761
OPC_CheckType, MVT::i32,
31762
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31763
OPC_EmitMergeInputChains, 1, 0,
31764
OPC_MorphNodeTo, TARGET_OPCODE(X86::LXADD32), 0|OPFL_Chain|OPFL_MemRefs,
31765
1, MVT::i32, 6, 2, 3, 4, 5, 6, 7,
31767
OPC_CheckPredicate, 77,
31772
OPC_CheckType, MVT::i16,
31773
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31774
OPC_EmitMergeInputChains, 1, 0,
31775
OPC_MorphNodeTo, TARGET_OPCODE(X86::LXADD16), 0|OPFL_Chain|OPFL_MemRefs,
31776
1, MVT::i16, 6, 2, 3, 4, 5, 6, 7,
31778
OPC_CheckPredicate, 78,
31783
OPC_CheckType, MVT::i8,
31784
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31785
OPC_EmitMergeInputChains, 1, 0,
31786
OPC_MorphNodeTo, TARGET_OPCODE(X86::LXADD8), 0|OPFL_Chain|OPFL_MemRefs,
31787
1, MVT::i8, 6, 2, 3, 4, 5, 6, 7,
31789
OPC_CheckPredicate, 79,
31794
OPC_CheckType, MVT::i64,
31795
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31796
OPC_EmitMergeInputChains, 1, 0,
31797
OPC_MorphNodeTo, TARGET_OPCODE(X86::LXADD64), 0|OPFL_Chain|OPFL_MemRefs,
31798
1, MVT::i64, 6, 2, 3, 4, 5, 6, 7,
31800
114, ISD::ATOMIC_LOAD_AND,
31802
OPC_CheckPredicate, 80,
31807
OPC_CheckType, MVT::i32,
31808
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31809
OPC_EmitMergeInputChains, 1, 0,
31810
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMAND32), 0|OPFL_Chain|OPFL_MemRefs,
31811
1, MVT::i32, 6, 3, 4, 5, 6, 7, 2,
31813
OPC_CheckPredicate, 81,
31818
OPC_CheckType, MVT::i16,
31819
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31820
OPC_EmitMergeInputChains, 1, 0,
31821
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMAND16), 0|OPFL_Chain|OPFL_MemRefs,
31822
1, MVT::i16, 6, 3, 4, 5, 6, 7, 2,
31824
OPC_CheckPredicate, 82,
31829
OPC_CheckType, MVT::i8,
31830
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31831
OPC_EmitMergeInputChains, 1, 0,
31832
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMAND8), 0|OPFL_Chain|OPFL_MemRefs,
31833
1, MVT::i8, 6, 3, 4, 5, 6, 7, 2,
31835
OPC_CheckPredicate, 83,
31840
OPC_CheckType, MVT::i64,
31841
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31842
OPC_EmitMergeInputChains, 1, 0,
31843
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMAND64), 0|OPFL_Chain|OPFL_MemRefs,
31844
1, MVT::i64, 6, 3, 4, 5, 6, 7, 2,
31846
114, ISD::ATOMIC_LOAD_OR,
31848
OPC_CheckPredicate, 84,
31853
OPC_CheckType, MVT::i32,
31854
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31855
OPC_EmitMergeInputChains, 1, 0,
31856
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMOR32), 0|OPFL_Chain|OPFL_MemRefs,
31857
1, MVT::i32, 6, 3, 4, 5, 6, 7, 2,
31859
OPC_CheckPredicate, 85,
31864
OPC_CheckType, MVT::i16,
31865
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31866
OPC_EmitMergeInputChains, 1, 0,
31867
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMOR16), 0|OPFL_Chain|OPFL_MemRefs,
31868
1, MVT::i16, 6, 3, 4, 5, 6, 7, 2,
31870
OPC_CheckPredicate, 86,
31875
OPC_CheckType, MVT::i8,
31876
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31877
OPC_EmitMergeInputChains, 1, 0,
31878
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMOR8), 0|OPFL_Chain|OPFL_MemRefs,
31879
1, MVT::i8, 6, 3, 4, 5, 6, 7, 2,
31881
OPC_CheckPredicate, 87,
31886
OPC_CheckType, MVT::i64,
31887
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31888
OPC_EmitMergeInputChains, 1, 0,
31889
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMOR64), 0|OPFL_Chain|OPFL_MemRefs,
31890
1, MVT::i64, 6, 3, 4, 5, 6, 7, 2,
31892
114, ISD::ATOMIC_LOAD_XOR,
31894
OPC_CheckPredicate, 88,
31899
OPC_CheckType, MVT::i32,
31900
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31901
OPC_EmitMergeInputChains, 1, 0,
31902
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMXOR32), 0|OPFL_Chain|OPFL_MemRefs,
31903
1, MVT::i32, 6, 3, 4, 5, 6, 7, 2,
31905
OPC_CheckPredicate, 89,
31910
OPC_CheckType, MVT::i16,
31911
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31912
OPC_EmitMergeInputChains, 1, 0,
31913
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMXOR16), 0|OPFL_Chain|OPFL_MemRefs,
31914
1, MVT::i16, 6, 3, 4, 5, 6, 7, 2,
31916
OPC_CheckPredicate, 90,
31921
OPC_CheckType, MVT::i8,
31922
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31923
OPC_EmitMergeInputChains, 1, 0,
31924
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMXOR8), 0|OPFL_Chain|OPFL_MemRefs,
31925
1, MVT::i8, 6, 3, 4, 5, 6, 7, 2,
31927
OPC_CheckPredicate, 91,
31932
OPC_CheckType, MVT::i64,
31933
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31934
OPC_EmitMergeInputChains, 1, 0,
31935
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMXOR64), 0|OPFL_Chain|OPFL_MemRefs,
31936
1, MVT::i64, 6, 3, 4, 5, 6, 7, 2,
31938
114, ISD::ATOMIC_LOAD_NAND,
31940
OPC_CheckPredicate, 92,
31945
OPC_CheckType, MVT::i32,
31946
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31947
OPC_EmitMergeInputChains, 1, 0,
31948
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMNAND32), 0|OPFL_Chain|OPFL_MemRefs,
31949
1, MVT::i32, 6, 3, 4, 5, 6, 7, 2,
31951
OPC_CheckPredicate, 93,
31956
OPC_CheckType, MVT::i16,
31957
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31958
OPC_EmitMergeInputChains, 1, 0,
31959
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMNAND16), 0|OPFL_Chain|OPFL_MemRefs,
31960
1, MVT::i16, 6, 3, 4, 5, 6, 7, 2,
31962
OPC_CheckPredicate, 94,
31967
OPC_CheckType, MVT::i8,
31968
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31969
OPC_EmitMergeInputChains, 1, 0,
31970
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMNAND8), 0|OPFL_Chain|OPFL_MemRefs,
31971
1, MVT::i8, 6, 3, 4, 5, 6, 7, 2,
31973
OPC_CheckPredicate, 95,
31978
OPC_CheckType, MVT::i64,
31979
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31980
OPC_EmitMergeInputChains, 1, 0,
31981
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMNAND64), 0|OPFL_Chain|OPFL_MemRefs,
31982
1, MVT::i64, 6, 3, 4, 5, 6, 7, 2,
31984
86, ISD::ATOMIC_LOAD_MIN,
31986
OPC_CheckPredicate, 96,
31991
OPC_CheckType, MVT::i32,
31992
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
31993
OPC_EmitMergeInputChains, 1, 0,
31994
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMMIN32), 0|OPFL_Chain|OPFL_MemRefs,
31995
1, MVT::i32, 6, 3, 4, 5, 6, 7, 2,
31997
OPC_CheckPredicate, 97,
32002
OPC_CheckType, MVT::i16,
32003
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32004
OPC_EmitMergeInputChains, 1, 0,
32005
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMMIN16), 0|OPFL_Chain|OPFL_MemRefs,
32006
1, MVT::i16, 6, 3, 4, 5, 6, 7, 2,
32008
OPC_CheckPredicate, 98,
32013
OPC_CheckType, MVT::i64,
32014
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32015
OPC_EmitMergeInputChains, 1, 0,
32016
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMMIN64), 0|OPFL_Chain|OPFL_MemRefs,
32017
1, MVT::i64, 6, 3, 4, 5, 6, 7, 2,
32019
86, ISD::ATOMIC_LOAD_MAX,
32021
OPC_CheckPredicate, 99,
32026
OPC_CheckType, MVT::i32,
32027
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32028
OPC_EmitMergeInputChains, 1, 0,
32029
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMMAX32), 0|OPFL_Chain|OPFL_MemRefs,
32030
1, MVT::i32, 6, 3, 4, 5, 6, 7, 2,
32032
OPC_CheckPredicate, 100,
32037
OPC_CheckType, MVT::i16,
32038
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32039
OPC_EmitMergeInputChains, 1, 0,
32040
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMMAX16), 0|OPFL_Chain|OPFL_MemRefs,
32041
1, MVT::i16, 6, 3, 4, 5, 6, 7, 2,
32043
OPC_CheckPredicate, 101,
32048
OPC_CheckType, MVT::i64,
32049
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32050
OPC_EmitMergeInputChains, 1, 0,
32051
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMMAX64), 0|OPFL_Chain|OPFL_MemRefs,
32052
1, MVT::i64, 6, 3, 4, 5, 6, 7, 2,
32054
86, ISD::ATOMIC_LOAD_UMIN,
32056
OPC_CheckPredicate, 102,
32061
OPC_CheckType, MVT::i32,
32062
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32063
OPC_EmitMergeInputChains, 1, 0,
32064
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMUMIN32), 0|OPFL_Chain|OPFL_MemRefs,
32065
1, MVT::i32, 6, 3, 4, 5, 6, 7, 2,
32067
OPC_CheckPredicate, 103,
32072
OPC_CheckType, MVT::i16,
32073
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32074
OPC_EmitMergeInputChains, 1, 0,
32075
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMUMIN16), 0|OPFL_Chain|OPFL_MemRefs,
32076
1, MVT::i16, 6, 3, 4, 5, 6, 7, 2,
32078
OPC_CheckPredicate, 104,
32083
OPC_CheckType, MVT::i64,
32084
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32085
OPC_EmitMergeInputChains, 1, 0,
32086
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMUMIN64), 0|OPFL_Chain|OPFL_MemRefs,
32087
1, MVT::i64, 6, 3, 4, 5, 6, 7, 2,
32089
86, ISD::ATOMIC_LOAD_UMAX,
32091
OPC_CheckPredicate, 105,
32096
OPC_CheckType, MVT::i32,
32097
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32098
OPC_EmitMergeInputChains, 1, 0,
32099
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMUMAX32), 0|OPFL_Chain|OPFL_MemRefs,
32100
1, MVT::i32, 6, 3, 4, 5, 6, 7, 2,
32102
OPC_CheckPredicate, 106,
32107
OPC_CheckType, MVT::i16,
32108
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32109
OPC_EmitMergeInputChains, 1, 0,
32110
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMUMAX16), 0|OPFL_Chain|OPFL_MemRefs,
32111
1, MVT::i16, 6, 3, 4, 5, 6, 7, 2,
32113
OPC_CheckPredicate, 107,
32118
OPC_CheckType, MVT::i64,
32119
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32120
OPC_EmitMergeInputChains, 1, 0,
32121
OPC_MorphNodeTo, TARGET_OPCODE(X86::ATOMUMAX64), 0|OPFL_Chain|OPFL_MemRefs,
32122
1, MVT::i64, 6, 3, 4, 5, 6, 7, 2,
32124
106|128,1, X86ISD::FILD,
32129
OPC_CheckValueType, MVT::i16,
32131
OPC_CheckType, MVT::f32,
32132
OPC_CheckPatternPredicate, 6,
32133
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32134
OPC_EmitMergeInputChains, 1, 0,
32135
OPC_MorphNodeTo, TARGET_OPCODE(X86::ILD_Fp16m32), 0|OPFL_Chain,
32136
1, MVT::f32, 5, 2, 3, 4, 5, 6,
32138
OPC_CheckValueType, MVT::i32,
32140
OPC_CheckType, MVT::f32,
32141
OPC_CheckPatternPredicate, 6,
32142
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32143
OPC_EmitMergeInputChains, 1, 0,
32144
OPC_MorphNodeTo, TARGET_OPCODE(X86::ILD_Fp32m32), 0|OPFL_Chain,
32145
1, MVT::f32, 5, 2, 3, 4, 5, 6,
32147
OPC_CheckValueType, MVT::i64,
32149
OPC_CheckType, MVT::f32,
32150
OPC_CheckPatternPredicate, 6,
32151
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32152
OPC_EmitMergeInputChains, 1, 0,
32153
OPC_MorphNodeTo, TARGET_OPCODE(X86::ILD_Fp64m32), 0|OPFL_Chain,
32154
1, MVT::f32, 5, 2, 3, 4, 5, 6,
32156
OPC_CheckValueType, MVT::i16,
32158
OPC_CheckType, MVT::f64,
32159
OPC_CheckPatternPredicate, 7,
32160
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32161
OPC_EmitMergeInputChains, 1, 0,
32162
OPC_MorphNodeTo, TARGET_OPCODE(X86::ILD_Fp16m64), 0|OPFL_Chain,
32163
1, MVT::f64, 5, 2, 3, 4, 5, 6,
32165
OPC_CheckValueType, MVT::i32,
32167
OPC_CheckType, MVT::f64,
32168
OPC_CheckPatternPredicate, 7,
32169
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32170
OPC_EmitMergeInputChains, 1, 0,
32171
OPC_MorphNodeTo, TARGET_OPCODE(X86::ILD_Fp32m64), 0|OPFL_Chain,
32172
1, MVT::f64, 5, 2, 3, 4, 5, 6,
32174
OPC_CheckValueType, MVT::i64,
32176
OPC_CheckType, MVT::f64,
32177
OPC_CheckPatternPredicate, 7,
32178
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32179
OPC_EmitMergeInputChains, 1, 0,
32180
OPC_MorphNodeTo, TARGET_OPCODE(X86::ILD_Fp64m64), 0|OPFL_Chain,
32181
1, MVT::f64, 5, 2, 3, 4, 5, 6,
32183
OPC_CheckValueType, MVT::i16,
32185
OPC_CheckType, MVT::f80,
32186
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32187
OPC_EmitMergeInputChains, 1, 0,
32188
OPC_MorphNodeTo, TARGET_OPCODE(X86::ILD_Fp16m80), 0|OPFL_Chain,
32189
1, MVT::f80, 5, 2, 3, 4, 5, 6,
32191
OPC_CheckValueType, MVT::i32,
32193
OPC_CheckType, MVT::f80,
32194
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32195
OPC_EmitMergeInputChains, 1, 0,
32196
OPC_MorphNodeTo, TARGET_OPCODE(X86::ILD_Fp32m80), 0|OPFL_Chain,
32197
1, MVT::f80, 5, 2, 3, 4, 5, 6,
32199
OPC_CheckValueType, MVT::i64,
32201
OPC_CheckType, MVT::f80,
32202
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32203
OPC_EmitMergeInputChains, 1, 0,
32204
OPC_MorphNodeTo, TARGET_OPCODE(X86::ILD_Fp64m80), 0|OPFL_Chain,
32205
1, MVT::f80, 5, 2, 3, 4, 5, 6,
32207
14|128,1, X86ISD::FP_TO_INT16_IN_MEM,
32211
OPC_CheckChild1Type, MVT::f32,
32214
OPC_CheckPatternPredicate, 9,
32215
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32216
OPC_EmitMergeInputChains, 1, 0,
32217
OPC_MorphNodeTo, TARGET_OPCODE(X86::ISTT_Fp16m32), 0|OPFL_Chain,
32218
0, 6, 3, 4, 5, 6, 7, 1,
32220
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32221
OPC_EmitMergeInputChains, 1, 0,
32222
OPC_MorphNodeTo, TARGET_OPCODE(X86::FP32_TO_INT16_IN_MEM), 0|OPFL_Chain,
32223
0, 6, 3, 4, 5, 6, 7, 1,
32226
OPC_CheckChild1Type, MVT::f64,
32229
OPC_CheckPatternPredicate, 9,
32230
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32231
OPC_EmitMergeInputChains, 1, 0,
32232
OPC_MorphNodeTo, TARGET_OPCODE(X86::ISTT_Fp16m64), 0|OPFL_Chain,
32233
0, 6, 3, 4, 5, 6, 7, 1,
32235
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32236
OPC_EmitMergeInputChains, 1, 0,
32237
OPC_MorphNodeTo, TARGET_OPCODE(X86::FP64_TO_INT16_IN_MEM), 0|OPFL_Chain,
32238
0, 6, 3, 4, 5, 6, 7, 1,
32241
OPC_CheckChild1Type, MVT::f80,
32244
OPC_CheckPatternPredicate, 9,
32245
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32246
OPC_EmitMergeInputChains, 1, 0,
32247
OPC_MorphNodeTo, TARGET_OPCODE(X86::ISTT_Fp16m80), 0|OPFL_Chain,
32248
0, 6, 3, 4, 5, 6, 7, 1,
32250
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32251
OPC_EmitMergeInputChains, 1, 0,
32252
OPC_MorphNodeTo, TARGET_OPCODE(X86::FP80_TO_INT16_IN_MEM), 0|OPFL_Chain,
32253
0, 6, 3, 4, 5, 6, 7, 1,
32256
14|128,1, X86ISD::FP_TO_INT32_IN_MEM,
32260
OPC_CheckChild1Type, MVT::f32,
32263
OPC_CheckPatternPredicate, 9,
32264
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32265
OPC_EmitMergeInputChains, 1, 0,
32266
OPC_MorphNodeTo, TARGET_OPCODE(X86::ISTT_Fp32m32), 0|OPFL_Chain,
32267
0, 6, 3, 4, 5, 6, 7, 1,
32269
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32270
OPC_EmitMergeInputChains, 1, 0,
32271
OPC_MorphNodeTo, TARGET_OPCODE(X86::FP32_TO_INT32_IN_MEM), 0|OPFL_Chain,
32272
0, 6, 3, 4, 5, 6, 7, 1,
32275
OPC_CheckChild1Type, MVT::f64,
32278
OPC_CheckPatternPredicate, 9,
32279
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32280
OPC_EmitMergeInputChains, 1, 0,
32281
OPC_MorphNodeTo, TARGET_OPCODE(X86::ISTT_Fp32m64), 0|OPFL_Chain,
32282
0, 6, 3, 4, 5, 6, 7, 1,
32284
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32285
OPC_EmitMergeInputChains, 1, 0,
32286
OPC_MorphNodeTo, TARGET_OPCODE(X86::FP64_TO_INT32_IN_MEM), 0|OPFL_Chain,
32287
0, 6, 3, 4, 5, 6, 7, 1,
32290
OPC_CheckChild1Type, MVT::f80,
32293
OPC_CheckPatternPredicate, 9,
32294
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32295
OPC_EmitMergeInputChains, 1, 0,
32296
OPC_MorphNodeTo, TARGET_OPCODE(X86::ISTT_Fp32m80), 0|OPFL_Chain,
32297
0, 6, 3, 4, 5, 6, 7, 1,
32299
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32300
OPC_EmitMergeInputChains, 1, 0,
32301
OPC_MorphNodeTo, TARGET_OPCODE(X86::FP80_TO_INT32_IN_MEM), 0|OPFL_Chain,
32302
0, 6, 3, 4, 5, 6, 7, 1,
32305
14|128,1, X86ISD::FP_TO_INT64_IN_MEM,
32309
OPC_CheckChild1Type, MVT::f32,
32312
OPC_CheckPatternPredicate, 9,
32313
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32314
OPC_EmitMergeInputChains, 1, 0,
32315
OPC_MorphNodeTo, TARGET_OPCODE(X86::ISTT_Fp64m32), 0|OPFL_Chain,
32316
0, 6, 3, 4, 5, 6, 7, 1,
32318
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32319
OPC_EmitMergeInputChains, 1, 0,
32320
OPC_MorphNodeTo, TARGET_OPCODE(X86::FP32_TO_INT64_IN_MEM), 0|OPFL_Chain,
32321
0, 6, 3, 4, 5, 6, 7, 1,
32324
OPC_CheckChild1Type, MVT::f64,
32327
OPC_CheckPatternPredicate, 9,
32328
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32329
OPC_EmitMergeInputChains, 1, 0,
32330
OPC_MorphNodeTo, TARGET_OPCODE(X86::ISTT_Fp64m64), 0|OPFL_Chain,
32331
0, 6, 3, 4, 5, 6, 7, 1,
32333
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32334
OPC_EmitMergeInputChains, 1, 0,
32335
OPC_MorphNodeTo, TARGET_OPCODE(X86::FP64_TO_INT64_IN_MEM), 0|OPFL_Chain,
32336
0, 6, 3, 4, 5, 6, 7, 1,
32339
OPC_CheckChild1Type, MVT::f80,
32342
OPC_CheckPatternPredicate, 9,
32343
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32344
OPC_EmitMergeInputChains, 1, 0,
32345
OPC_MorphNodeTo, TARGET_OPCODE(X86::ISTT_Fp64m80), 0|OPFL_Chain,
32346
0, 6, 3, 4, 5, 6, 7, 1,
32348
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32349
OPC_EmitMergeInputChains, 1, 0,
32350
OPC_MorphNodeTo, TARGET_OPCODE(X86::FP80_TO_INT64_IN_MEM), 0|OPFL_Chain,
32351
0, 6, 3, 4, 5, 6, 7, 1,
32359
OPC_CheckValueType, MVT::f32,
32361
OPC_CheckType, MVT::f32,
32362
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32363
OPC_EmitMergeInputChains, 1, 0,
32364
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp32m), 0|OPFL_Chain,
32365
1, MVT::f32, 5, 2, 3, 4, 5, 6,
32367
OPC_CheckValueType, MVT::f64,
32369
OPC_CheckType, MVT::f64,
32370
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32371
OPC_EmitMergeInputChains, 1, 0,
32372
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp64m), 0|OPFL_Chain,
32373
1, MVT::f64, 5, 2, 3, 4, 5, 6,
32375
OPC_CheckValueType, MVT::f80,
32377
OPC_CheckType, MVT::f80,
32378
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32379
OPC_EmitMergeInputChains, 1, 0,
32380
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp80m), 0|OPFL_Chain,
32381
1, MVT::f80, 5, 2, 3, 4, 5, 6,
32383
30|128,1, X86ISD::FST,
32385
OPC_CaptureFlagInput,
32388
OPC_CheckChild1Type, MVT::f32,
32391
OPC_CheckValueType, MVT::f32,
32393
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32394
OPC_EmitMergeInputChains, 1, 0,
32395
OPC_MorphNodeTo, TARGET_OPCODE(X86::ST_Fp32m), 0|OPFL_Chain|OPFL_FlagInput,
32396
0, 6, 3, 4, 5, 6, 7, 1,
32398
OPC_CheckChild1Type, MVT::f64,
32402
OPC_CheckValueType, MVT::f32,
32404
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32405
OPC_EmitMergeInputChains, 1, 0,
32406
OPC_MorphNodeTo, TARGET_OPCODE(X86::ST_Fp64m32), 0|OPFL_Chain|OPFL_FlagInput,
32407
0, 6, 3, 4, 5, 6, 7, 1,
32409
OPC_CheckValueType, MVT::f64,
32411
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32412
OPC_EmitMergeInputChains, 1, 0,
32413
OPC_MorphNodeTo, TARGET_OPCODE(X86::ST_Fp64m), 0|OPFL_Chain|OPFL_FlagInput,
32414
0, 6, 3, 4, 5, 6, 7, 1,
32417
OPC_CheckChild1Type, MVT::f80,
32421
OPC_CheckValueType, MVT::f32,
32423
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32424
OPC_EmitMergeInputChains, 1, 0,
32425
OPC_MorphNodeTo, TARGET_OPCODE(X86::ST_Fp80m32), 0|OPFL_Chain|OPFL_FlagInput,
32426
0, 6, 3, 4, 5, 6, 7, 1,
32428
OPC_CheckValueType, MVT::f64,
32430
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32431
OPC_EmitMergeInputChains, 1, 0,
32432
OPC_MorphNodeTo, TARGET_OPCODE(X86::ST_Fp80m64), 0|OPFL_Chain|OPFL_FlagInput,
32433
0, 6, 3, 4, 5, 6, 7, 1,
32435
OPC_CheckValueType, MVT::f80,
32437
OPC_CheckComplexPat, /*CP*/0, /*#*/2,
32438
OPC_EmitMergeInputChains, 1, 0,
32439
OPC_MorphNodeTo, TARGET_OPCODE(X86::ST_FpP80m), 0|OPFL_Chain|OPFL_FlagInput,
32440
0, 6, 3, 4, 5, 6, 7, 1,
32443
27, X86ISD::FILD_FLAG,
32447
OPC_CheckValueType, MVT::i64,
32449
OPC_CheckType, MVT::f64,
32450
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32451
OPC_EmitMergeInputChains, 1, 0,
32452
OPC_MorphNodeTo, TARGET_OPCODE(X86::ILD_Fp64m64), 0|OPFL_Chain|OPFL_FlagOutput,
32453
1, MVT::f64, 5, 2, 3, 4, 5, 6,
32454
20, X86ISD::LCMPXCHG8_DAG,
32456
OPC_CaptureFlagInput,
32458
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32459
OPC_EmitMergeInputChains, 1, 0,
32460
OPC_MorphNodeTo, TARGET_OPCODE(X86::LCMPXCHG8B), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
32461
0, 5, 2, 3, 4, 5, 6,
32462
19, X86ISD::FNSTCW16m,
32465
OPC_CheckComplexPat, /*CP*/0, /*#*/1,
32466
OPC_EmitMergeInputChains, 1, 0,
32467
OPC_MorphNodeTo, TARGET_OPCODE(X86::FNSTCW16m), 0|OPFL_Chain,
32468
0, 5, 2, 3, 4, 5, 6,
32469
47, X86ISD::TLSADDR,
32471
OPC_CaptureFlagInput,
32474
OPC_CheckChild1Type, MVT::i32,
32475
OPC_CheckPatternPredicate, 2,
32476
OPC_CheckComplexPat, /*CP*/5, /*#*/1,
32477
OPC_EmitMergeInputChains, 1, 0,
32478
OPC_MorphNodeTo, TARGET_OPCODE(X86::TLS_addr32), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
32481
OPC_CheckChild1Type, MVT::i64,
32482
OPC_CheckPatternPredicate, 3,
32483
OPC_CheckComplexPat, /*CP*/6, /*#*/1,
32484
OPC_EmitMergeInputChains, 1, 0,
32485
OPC_MorphNodeTo, TARGET_OPCODE(X86::TLS_addr64), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
32488
57, X86ISD::MUL_IMM,
32490
OPC_SwitchType , 36, MVT::i32,
32492
OPC_CheckPatternPredicate, 2,
32493
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
32494
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA32r), 0,
32495
1, MVT::i32, 4, 1, 2, 3, 4,
32497
OPC_CheckPatternPredicate, 3,
32498
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
32499
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64_32r), 0,
32500
1, MVT::i32, 4, 1, 2, 3, 4,
32503
OPC_CheckComplexPat, /*CP*/4, /*#*/0,
32504
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64r), 0,
32505
1, MVT::i64, 4, 1, 2, 3, 4,
32507
57|128,2, ISD::SHL,
32510
OPC_SwitchType , 36, MVT::i32,
32512
OPC_CheckPatternPredicate, 2,
32513
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
32514
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA32r), 0,
32515
1, MVT::i32, 4, 1, 2, 3, 4,
32517
OPC_CheckPatternPredicate, 3,
32518
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
32519
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64_32r), 0,
32520
1, MVT::i32, 4, 1, 2, 3, 4,
32523
OPC_CheckComplexPat, /*CP*/4, /*#*/0,
32524
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64r), 0,
32525
1, MVT::i64, 4, 1, 2, 3, 4,
32532
OPC_CheckAndImm, 31,
32534
OPC_CheckType, MVT::i8,
32536
OPC_SwitchType , 11, MVT::i8,
32537
OPC_EmitCopyToReg, 1, X86::CL,
32538
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL8rCL), 0|OPFL_FlagInput,
32541
OPC_EmitCopyToReg, 1, X86::CL,
32542
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL16rCL), 0|OPFL_FlagInput,
32545
OPC_EmitCopyToReg, 1, X86::CL,
32546
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL32rCL), 0|OPFL_FlagInput,
32550
OPC_CheckAndImm, 63,
32552
OPC_CheckType, MVT::i8,
32554
OPC_CheckType, MVT::i64,
32555
OPC_EmitCopyToReg, 1, X86::CL,
32556
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL64rCL), 0|OPFL_FlagInput,
32559
OPC_CheckInteger, 1,
32560
OPC_CheckType, MVT::i8,
32562
OPC_SwitchType , 9, MVT::i8,
32563
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD8rr), 0,
32564
1, MVT::i8, 2, 0, 0,
32566
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD16rr), 0,
32567
1, MVT::i16, 2, 0, 0,
32569
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD32rr), 0,
32570
1, MVT::i32, 2, 0, 0,
32572
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADD64rr), 0,
32573
1, MVT::i64, 2, 0, 0,
32580
OPC_CheckOpcode, ISD::Constant,
32581
OPC_CheckType, MVT::i8,
32583
OPC_SwitchType , 11, MVT::i8,
32584
OPC_EmitConvertToTarget, 1,
32585
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL8ri), 0,
32586
1, MVT::i8, 2, 0, 2,
32588
OPC_EmitConvertToTarget, 1,
32589
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL16ri), 0,
32590
1, MVT::i16, 2, 0, 2,
32592
OPC_EmitConvertToTarget, 1,
32593
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL32ri), 0,
32594
1, MVT::i32, 2, 0, 2,
32596
OPC_EmitConvertToTarget, 1,
32597
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL64ri), 0,
32598
1, MVT::i64, 2, 0, 2,
32601
OPC_CheckChild1Type, MVT::i8,
32602
OPC_SwitchType , 11, MVT::i8,
32603
OPC_EmitCopyToReg, 1, X86::CL,
32604
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL8rCL), 0|OPFL_FlagInput,
32607
OPC_EmitCopyToReg, 1, X86::CL,
32608
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL16rCL), 0|OPFL_FlagInput,
32611
OPC_EmitCopyToReg, 1, X86::CL,
32612
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL32rCL), 0|OPFL_FlagInput,
32615
OPC_EmitCopyToReg, 1, X86::CL,
32616
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHL64rCL), 0|OPFL_FlagInput,
32622
57, ISD::FrameIndex,
32624
OPC_SwitchType , 36, MVT::i32,
32626
OPC_CheckPatternPredicate, 2,
32627
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
32628
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA32r), 0,
32629
1, MVT::i32, 4, 1, 2, 3, 4,
32631
OPC_CheckPatternPredicate, 3,
32632
OPC_CheckComplexPat, /*CP*/3, /*#*/0,
32633
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64_32r), 0,
32634
1, MVT::i32, 4, 1, 2, 3, 4,
32637
OPC_CheckComplexPat, /*CP*/4, /*#*/0,
32638
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64r), 0,
32639
1, MVT::i64, 4, 1, 2, 3, 4,
32641
17, X86ISD::WrapperRIP,
32643
OPC_CheckType, MVT::i64,
32644
OPC_CheckComplexPat, /*CP*/4, /*#*/0,
32645
OPC_MorphNodeTo, TARGET_OPCODE(X86::LEA64r), 0,
32646
1, MVT::i64, 4, 1, 2, 3, 4,
32647
119|128,1, ISD::TRUNCATE,
32650
OPC_CheckOpcode, ISD::SRL,
32651
OPC_CheckPredicate, 16,
32654
OPC_CheckInteger, 8,
32655
OPC_CheckType, MVT::i8,
32657
OPC_SwitchType , 29, MVT::i16,
32659
OPC_CheckType, MVT::i8,
32660
OPC_CheckPatternPredicate, 2,
32661
OPC_EmitInteger, MVT::i32, X86::GR16_ABCDRegClassID,
32662
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
32663
1, MVT::i32, 2, 0, 1,
32664
OPC_EmitInteger, MVT::i32, 2,
32665
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32666
1, MVT::i8, 2, 2, 3,
32669
OPC_CheckType, MVT::i8,
32670
OPC_CheckPatternPredicate, 2,
32671
OPC_EmitInteger, MVT::i32, X86::GR32_ABCDRegClassID,
32672
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
32673
1, MVT::i16, 2, 0, 1,
32674
OPC_EmitInteger, MVT::i32, 2,
32675
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32676
1, MVT::i8, 2, 2, 3,
32681
OPC_CheckChild0Type, MVT::i32,
32682
OPC_SwitchType , 12, MVT::i16,
32683
OPC_EmitInteger, MVT::i32, 3,
32684
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32685
1, MVT::i16, 2, 0, 1,
32688
OPC_CheckPatternPredicate, 3,
32689
OPC_EmitInteger, MVT::i32, 1,
32690
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32691
1, MVT::i8, 2, 0, 1,
32693
OPC_CheckPatternPredicate, 2,
32694
OPC_EmitInteger, MVT::i32, X86::GR32_ABCDRegClassID,
32695
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
32696
1, MVT::i32, 2, 0, 1,
32697
OPC_EmitInteger, MVT::i32, 1,
32698
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32699
1, MVT::i8, 2, 2, 3,
32703
OPC_CheckChild0Type, MVT::i64,
32704
OPC_SwitchType , 12, MVT::i32,
32705
OPC_EmitInteger, MVT::i32, 4,
32706
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32707
1, MVT::i32, 2, 0, 1,
32709
OPC_EmitInteger, MVT::i32, 3,
32710
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32711
1, MVT::i16, 2, 0, 1,
32713
OPC_EmitInteger, MVT::i32, 1,
32714
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32715
1, MVT::i8, 2, 0, 1,
32718
OPC_CheckChild0Type, MVT::i16,
32719
OPC_CheckType, MVT::i8,
32721
OPC_CheckPatternPredicate, 3,
32722
OPC_EmitInteger, MVT::i32, 1,
32723
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32724
1, MVT::i8, 2, 0, 1,
32726
OPC_CheckPatternPredicate, 2,
32727
OPC_EmitInteger, MVT::i32, X86::GR16_ABCDRegClassID,
32728
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
32729
1, MVT::i16, 2, 0, 1,
32730
OPC_EmitInteger, MVT::i32, 1,
32731
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32732
1, MVT::i8, 2, 2, 3,
32736
122|128,1, ISD::ZERO_EXTEND,
32737
OPC_Scope, 15|128,1,
32739
OPC_CheckOpcode, ISD::SRL,
32740
OPC_CheckPredicate, 16,
32743
OPC_CheckInteger, 8,
32744
OPC_CheckType, MVT::i8,
32746
OPC_CheckType, MVT::i16,
32748
OPC_SwitchType , 72, MVT::i32,
32750
OPC_CheckPatternPredicate, 2,
32751
OPC_EmitInteger, MVT::i32, X86::GR16_ABCDRegClassID,
32752
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
32753
1, MVT::i16, 2, 0, 1,
32754
OPC_EmitInteger, MVT::i32, 2,
32755
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32756
1, MVT::i8, 2, 2, 3,
32757
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rr8), 0,
32760
OPC_CheckPatternPredicate, 3,
32761
OPC_EmitInteger, MVT::i32, X86::GR16_ABCDRegClassID,
32762
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
32763
1, MVT::i16, 2, 0, 1,
32764
OPC_EmitInteger, MVT::i32, 2,
32765
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32766
1, MVT::i8, 2, 2, 3,
32767
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32_NOREXrr8), 0,
32771
OPC_EmitInteger, MVT::i64, 0,
32772
OPC_EmitInteger, MVT::i32, X86::GR16_ABCDRegClassID,
32773
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
32774
1, MVT::i16, 2, 0, 2,
32775
OPC_EmitInteger, MVT::i32, 2,
32776
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32777
1, MVT::i8, 2, 3, 4,
32778
OPC_EmitNode, TARGET_OPCODE(X86::MOVZX32_NOREXrr8), 0,
32780
OPC_EmitInteger, MVT::i32, 4,
32781
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0,
32782
1, MVT::i64, 3, 1, 6, 7,
32788
OPC_CheckPredicate, 108,
32789
OPC_CheckType, MVT::i32,
32791
OPC_CheckType, MVT::i64,
32792
OPC_EmitInteger, MVT::i64, 0,
32793
OPC_EmitInteger, MVT::i32, 4,
32794
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0,
32795
1, MVT::i64, 3, 1, 0, 2,
32797
OPC_CheckChild0Type, MVT::i8,
32798
OPC_SwitchType , 8, MVT::i16,
32799
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX16rr8), 0,
32802
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rr8), 0,
32805
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rr8), 0,
32809
OPC_CheckChild0Type, MVT::i16,
32810
OPC_SwitchType , 8, MVT::i32,
32811
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rr16), 0,
32814
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rr16), 0,
32818
OPC_CheckChild0Type, MVT::i32,
32819
OPC_CheckType, MVT::i64,
32820
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rr32), 0,
32824
28|128,2, ISD::ANY_EXTEND,
32825
OPC_Scope, 67|128,1,
32827
OPC_SwitchOpcode , 11|128,1, ISD::SRL,
32828
OPC_CheckPredicate, 16,
32831
OPC_CheckInteger, 8,
32832
OPC_CheckType, MVT::i8,
32834
OPC_CheckType, MVT::i16,
32836
OPC_SwitchType , 72, MVT::i32,
32838
OPC_CheckPatternPredicate, 2,
32839
OPC_EmitInteger, MVT::i32, X86::GR16_ABCDRegClassID,
32840
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
32841
1, MVT::i16, 2, 0, 1,
32842
OPC_EmitInteger, MVT::i32, 2,
32843
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32844
1, MVT::i8, 2, 2, 3,
32845
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rr8), 0,
32848
OPC_CheckPatternPredicate, 3,
32849
OPC_EmitInteger, MVT::i32, X86::GR16_ABCDRegClassID,
32850
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
32851
1, MVT::i16, 2, 0, 1,
32852
OPC_EmitInteger, MVT::i32, 2,
32853
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32854
1, MVT::i8, 2, 2, 3,
32855
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32_NOREXrr8), 0,
32859
OPC_EmitInteger, MVT::i64, 0,
32860
OPC_EmitInteger, MVT::i32, X86::GR16_ABCDRegClassID,
32861
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
32862
1, MVT::i16, 2, 0, 2,
32863
OPC_EmitInteger, MVT::i32, 2,
32864
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32865
1, MVT::i8, 2, 3, 4,
32866
OPC_EmitNode, TARGET_OPCODE(X86::MOVZX32_NOREXrr8), 0,
32868
OPC_EmitInteger, MVT::i32, 4,
32869
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0,
32870
1, MVT::i64, 3, 1, 6, 7,
32872
47, X86ISD::SETCC_CARRY,
32874
OPC_CheckInteger, 2,
32877
OPC_CheckType, MVT::i8,
32879
OPC_SwitchType , 10, MVT::i16,
32880
OPC_EmitCopyToReg, 0, X86::EFLAGS,
32881
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETB_C16r), 0|OPFL_FlagInput,
32884
OPC_EmitCopyToReg, 0, X86::EFLAGS,
32885
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETB_C32r), 0|OPFL_FlagInput,
32888
OPC_EmitCopyToReg, 0, X86::EFLAGS,
32889
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETB_C64r), 0|OPFL_FlagInput,
32896
OPC_CheckChild0Type, MVT::i32,
32897
OPC_CheckType, MVT::i64,
32898
OPC_EmitInteger, MVT::i64, 0,
32899
OPC_EmitInteger, MVT::i32, 4,
32900
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::SUBREG_TO_REG), 0,
32901
1, MVT::i64, 3, 1, 0, 2,
32903
OPC_CheckChild0Type, MVT::i8,
32904
OPC_SwitchType , 8, MVT::i16,
32905
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX16rr8), 0,
32908
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rr8), 0,
32911
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rr8), 0,
32915
OPC_CheckChild0Type, MVT::i16,
32916
OPC_SwitchType , 8, MVT::i32,
32917
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX32rr16), 0,
32920
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVZX64rr16), 0,
32925
96|128,2, ISD::SRL,
32927
OPC_Scope, 96|128,1,
32930
OPC_CheckAndImm, 31,
32932
OPC_CheckType, MVT::i8,
32934
OPC_SwitchType , 11, MVT::i8,
32935
OPC_EmitCopyToReg, 1, X86::CL,
32936
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR8rCL), 0|OPFL_FlagInput,
32939
OPC_EmitCopyToReg, 1, X86::CL,
32940
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR16rCL), 0|OPFL_FlagInput,
32943
OPC_EmitCopyToReg, 1, X86::CL,
32944
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR32rCL), 0|OPFL_FlagInput,
32948
OPC_CheckAndImm, 63,
32950
OPC_CheckType, MVT::i8,
32952
OPC_CheckType, MVT::i64,
32953
OPC_EmitCopyToReg, 1, X86::CL,
32954
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR64rCL), 0|OPFL_FlagInput,
32957
OPC_CheckInteger, 1,
32958
OPC_CheckType, MVT::i8,
32960
OPC_SwitchType , 8, MVT::i8,
32961
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR8r1), 0,
32964
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR16r1), 0,
32967
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR32r1), 0,
32970
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR64r1), 0,
32974
OPC_CheckInteger, 8,
32975
OPC_CheckType, MVT::i8,
32977
OPC_CheckType, MVT::i16,
32979
OPC_CheckPatternPredicate, 2,
32980
OPC_EmitInteger, MVT::i32, X86::GR16_ABCDRegClassID,
32981
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
32982
1, MVT::i16, 2, 0, 1,
32983
OPC_EmitInteger, MVT::i32, 2,
32984
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32985
1, MVT::i8, 2, 2, 3,
32986
OPC_EmitNode, TARGET_OPCODE(X86::MOVZX32rr8), 0,
32988
OPC_EmitInteger, MVT::i32, 3,
32989
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32990
1, MVT::i16, 2, 5, 6,
32992
OPC_CheckPatternPredicate, 3,
32993
OPC_EmitInteger, MVT::i32, X86::GR16_ABCDRegClassID,
32994
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
32995
1, MVT::i16, 2, 0, 1,
32996
OPC_EmitInteger, MVT::i32, 2,
32997
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
32998
1, MVT::i8, 2, 2, 3,
32999
OPC_EmitNode, TARGET_OPCODE(X86::MOVZX32_NOREXrr8), 0,
33001
OPC_EmitInteger, MVT::i32, 3,
33002
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
33003
1, MVT::i16, 2, 5, 6,
33010
OPC_CheckOpcode, ISD::Constant,
33011
OPC_CheckType, MVT::i8,
33013
OPC_SwitchType , 11, MVT::i8,
33014
OPC_EmitConvertToTarget, 1,
33015
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR8ri), 0,
33016
1, MVT::i8, 2, 0, 2,
33018
OPC_EmitConvertToTarget, 1,
33019
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR16ri), 0,
33020
1, MVT::i16, 2, 0, 2,
33022
OPC_EmitConvertToTarget, 1,
33023
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR32ri), 0,
33024
1, MVT::i32, 2, 0, 2,
33026
OPC_EmitConvertToTarget, 1,
33027
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR64ri), 0,
33028
1, MVT::i64, 2, 0, 2,
33031
OPC_CheckChild1Type, MVT::i8,
33032
OPC_SwitchType , 11, MVT::i8,
33033
OPC_EmitCopyToReg, 1, X86::CL,
33034
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR8rCL), 0|OPFL_FlagInput,
33037
OPC_EmitCopyToReg, 1, X86::CL,
33038
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR16rCL), 0|OPFL_FlagInput,
33041
OPC_EmitCopyToReg, 1, X86::CL,
33042
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR32rCL), 0|OPFL_FlagInput,
33045
OPC_EmitCopyToReg, 1, X86::CL,
33046
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHR64rCL), 0|OPFL_FlagInput,
33051
119|128,1, ISD::SRA,
33056
OPC_CheckAndImm, 31,
33058
OPC_CheckType, MVT::i8,
33060
OPC_SwitchType , 11, MVT::i8,
33061
OPC_EmitCopyToReg, 1, X86::CL,
33062
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR8rCL), 0|OPFL_FlagInput,
33065
OPC_EmitCopyToReg, 1, X86::CL,
33066
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR16rCL), 0|OPFL_FlagInput,
33069
OPC_EmitCopyToReg, 1, X86::CL,
33070
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR32rCL), 0|OPFL_FlagInput,
33074
OPC_CheckAndImm, 63,
33076
OPC_CheckType, MVT::i8,
33078
OPC_CheckType, MVT::i64,
33079
OPC_EmitCopyToReg, 1, X86::CL,
33080
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR64rCL), 0|OPFL_FlagInput,
33083
OPC_CheckInteger, 1,
33084
OPC_CheckType, MVT::i8,
33086
OPC_SwitchType , 8, MVT::i8,
33087
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR8r1), 0,
33090
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR16r1), 0,
33093
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR32r1), 0,
33096
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR64r1), 0,
33104
OPC_CheckOpcode, ISD::Constant,
33105
OPC_CheckType, MVT::i8,
33107
OPC_SwitchType , 11, MVT::i8,
33108
OPC_EmitConvertToTarget, 1,
33109
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR8ri), 0,
33110
1, MVT::i8, 2, 0, 2,
33112
OPC_EmitConvertToTarget, 1,
33113
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR16ri), 0,
33114
1, MVT::i16, 2, 0, 2,
33116
OPC_EmitConvertToTarget, 1,
33117
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR32ri), 0,
33118
1, MVT::i32, 2, 0, 2,
33120
OPC_EmitConvertToTarget, 1,
33121
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR64ri), 0,
33122
1, MVT::i64, 2, 0, 2,
33125
OPC_CheckChild1Type, MVT::i8,
33126
OPC_SwitchType , 11, MVT::i8,
33127
OPC_EmitCopyToReg, 1, X86::CL,
33128
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR8rCL), 0|OPFL_FlagInput,
33131
OPC_EmitCopyToReg, 1, X86::CL,
33132
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR16rCL), 0|OPFL_FlagInput,
33135
OPC_EmitCopyToReg, 1, X86::CL,
33136
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR32rCL), 0|OPFL_FlagInput,
33139
OPC_EmitCopyToReg, 1, X86::CL,
33140
OPC_MorphNodeTo, TARGET_OPCODE(X86::SAR64rCL), 0|OPFL_FlagInput,
33145
44, ISD::CALLSEQ_END,
33147
OPC_CaptureFlagInput,
33150
OPC_CheckOpcode, ISD::TargetConstant,
33154
OPC_CheckOpcode, ISD::TargetConstant,
33157
OPC_CheckPatternPredicate, 2,
33158
OPC_EmitMergeInputChains, 1, 0,
33159
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADJCALLSTACKUP32), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
33162
OPC_CheckPatternPredicate, 3,
33163
OPC_EmitMergeInputChains, 1, 0,
33164
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADJCALLSTACKUP64), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
33167
22|128,1, X86ISD::TC_RETURN,
33169
OPC_CaptureFlagInput,
33173
OPC_SwitchOpcode , 46, ISD::TargetGlobalAddress,
33174
OPC_SwitchType , 20, MVT::i32,
33178
OPC_CheckOpcode, ISD::Constant,
33180
OPC_EmitMergeInputChains, 1, 0,
33181
OPC_EmitConvertToTarget, 2,
33182
OPC_MorphNodeTo, TARGET_OPCODE(X86::TCRETURNdi), 0|OPFL_Chain|OPFL_FlagInput|OPFL_Variadic2,
33188
OPC_CheckOpcode, ISD::Constant,
33190
OPC_EmitMergeInputChains, 1, 0,
33191
OPC_EmitConvertToTarget, 2,
33192
OPC_MorphNodeTo, TARGET_OPCODE(X86::TCRETURNdi64), 0|OPFL_Chain|OPFL_FlagInput|OPFL_Variadic2,
33195
46, ISD::TargetExternalSymbol,
33196
OPC_SwitchType , 20, MVT::i32,
33200
OPC_CheckOpcode, ISD::Constant,
33202
OPC_EmitMergeInputChains, 1, 0,
33203
OPC_EmitConvertToTarget, 2,
33204
OPC_MorphNodeTo, TARGET_OPCODE(X86::TCRETURNdi), 0|OPFL_Chain|OPFL_FlagInput|OPFL_Variadic2,
33210
OPC_CheckOpcode, ISD::Constant,
33212
OPC_EmitMergeInputChains, 1, 0,
33213
OPC_EmitConvertToTarget, 2,
33214
OPC_MorphNodeTo, TARGET_OPCODE(X86::TCRETURNdi64), 0|OPFL_Chain|OPFL_FlagInput|OPFL_Variadic2,
33219
OPC_CheckChild1Type, MVT::i32,
33222
OPC_CheckOpcode, ISD::Constant,
33224
OPC_EmitMergeInputChains, 1, 0,
33225
OPC_EmitConvertToTarget, 2,
33226
OPC_MorphNodeTo, TARGET_OPCODE(X86::TCRETURNri), 0|OPFL_Chain|OPFL_FlagInput|OPFL_Variadic2,
33229
OPC_CheckChild1Type, MVT::i64,
33232
OPC_CheckOpcode, ISD::Constant,
33234
OPC_EmitMergeInputChains, 1, 0,
33235
OPC_EmitConvertToTarget, 2,
33236
OPC_MorphNodeTo, TARGET_OPCODE(X86::TCRETURNri64), 0|OPFL_Chain|OPFL_FlagInput|OPFL_Variadic2,
33239
45|128,1, ISD::EXTRACT_VECTOR_ELT,
33242
OPC_CheckOpcode, ISD::BIT_CONVERT,
33244
OPC_CheckChild0Type, MVT::v4f32,
33245
OPC_CheckType, MVT::v4i32,
33249
OPC_CheckOpcode, ISD::Constant,
33251
OPC_CheckType, MVT::i32,
33252
OPC_CheckPatternPredicate, 4,
33253
OPC_EmitConvertToTarget, 1,
33254
OPC_MorphNodeTo, TARGET_OPCODE(X86::EXTRACTPSrr), 0,
33255
1, MVT::i32, 2, 0, 2,
33259
OPC_CheckChild0Type, MVT::v4f32,
33261
OPC_CheckInteger, 0,
33263
OPC_CheckType, MVT::f32,
33264
OPC_EmitInteger, MVT::i32, 1,
33265
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
33266
1, MVT::f32, 2, 0, 1,
33268
OPC_CheckChild0Type, MVT::v2f64,
33270
OPC_CheckInteger, 0,
33272
OPC_CheckType, MVT::f64,
33273
OPC_EmitInteger, MVT::i32, 2,
33274
OPC_MorphNodeTo, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
33275
1, MVT::f64, 2, 0, 1,
33277
OPC_CheckChild0Type, MVT::v2i64,
33280
OPC_CheckInteger, 0,
33282
OPC_CheckType, MVT::i64,
33283
OPC_CheckPatternPredicate, 1,
33284
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVPQIto64rr), 0,
33289
OPC_CheckOpcode, ISD::Constant,
33291
OPC_CheckType, MVT::i64,
33292
OPC_CheckPatternPredicate, 4,
33293
OPC_EmitConvertToTarget, 1,
33294
OPC_MorphNodeTo, TARGET_OPCODE(X86::PEXTRQrr), 0,
33295
1, MVT::i64, 2, 0, 2,
33298
OPC_CheckChild0Type, MVT::v4i32,
33301
OPC_CheckInteger, 0,
33303
OPC_CheckType, MVT::i32,
33304
OPC_CheckPatternPredicate, 1,
33305
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVPDI2DIrr), 0,
33310
OPC_CheckOpcode, ISD::Constant,
33312
OPC_CheckType, MVT::i32,
33313
OPC_CheckPatternPredicate, 4,
33314
OPC_EmitConvertToTarget, 1,
33315
OPC_MorphNodeTo, TARGET_OPCODE(X86::PEXTRDrr), 0,
33316
1, MVT::i32, 2, 0, 2,
33320
30, X86ISD::VASTART_SAVE_XMM_REGS,
33325
OPC_CheckOpcode, ISD::Constant,
33329
OPC_CheckOpcode, ISD::Constant,
33331
OPC_EmitMergeInputChains, 1, 0,
33332
OPC_EmitConvertToTarget, 2,
33333
OPC_EmitConvertToTarget, 3,
33334
OPC_MorphNodeTo, TARGET_OPCODE(X86::VASTART_SAVE_XMM_REGS), 0|OPFL_Chain|OPFL_Variadic3,
33336
36, X86ISD::RET_FLAG,
33338
OPC_CaptureFlagInput,
33341
OPC_CheckInteger, 0,
33343
OPC_EmitMergeInputChains, 1, 0,
33344
OPC_MorphNodeTo, TARGET_OPCODE(X86::RET), 0|OPFL_Chain|OPFL_FlagInput|OPFL_Variadic1,
33349
OPC_CheckOpcode, ISD::TargetConstant,
33351
OPC_EmitMergeInputChains, 1, 0,
33352
OPC_MorphNodeTo, TARGET_OPCODE(X86::RETI), 0|OPFL_Chain|OPFL_FlagInput|OPFL_Variadic1,
33355
43|128,2, X86ISD::BRCOND,
33359
OPC_CheckOpcode, ISD::BasicBlock,
33363
OPC_CheckInteger, 13,
33366
OPC_EmitMergeInputChains, 1, 0,
33367
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33368
OPC_MorphNodeTo, TARGET_OPCODE(X86::JO_4), 0|OPFL_Chain|OPFL_FlagInput,
33371
OPC_CheckInteger, 10,
33374
OPC_EmitMergeInputChains, 1, 0,
33375
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33376
OPC_MorphNodeTo, TARGET_OPCODE(X86::JNO_4), 0|OPFL_Chain|OPFL_FlagInput,
33379
OPC_CheckInteger, 2,
33382
OPC_EmitMergeInputChains, 1, 0,
33383
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33384
OPC_MorphNodeTo, TARGET_OPCODE(X86::JB_4), 0|OPFL_Chain|OPFL_FlagInput,
33387
OPC_CheckInteger, 1,
33390
OPC_EmitMergeInputChains, 1, 0,
33391
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33392
OPC_MorphNodeTo, TARGET_OPCODE(X86::JAE_4), 0|OPFL_Chain|OPFL_FlagInput,
33395
OPC_CheckInteger, 4,
33398
OPC_EmitMergeInputChains, 1, 0,
33399
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33400
OPC_MorphNodeTo, TARGET_OPCODE(X86::JE_4), 0|OPFL_Chain|OPFL_FlagInput,
33403
OPC_CheckInteger, 9,
33406
OPC_EmitMergeInputChains, 1, 0,
33407
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33408
OPC_MorphNodeTo, TARGET_OPCODE(X86::JNE_4), 0|OPFL_Chain|OPFL_FlagInput,
33411
OPC_CheckInteger, 3,
33414
OPC_EmitMergeInputChains, 1, 0,
33415
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33416
OPC_MorphNodeTo, TARGET_OPCODE(X86::JBE_4), 0|OPFL_Chain|OPFL_FlagInput,
33419
OPC_CheckInteger, 0,
33422
OPC_EmitMergeInputChains, 1, 0,
33423
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33424
OPC_MorphNodeTo, TARGET_OPCODE(X86::JA_4), 0|OPFL_Chain|OPFL_FlagInput,
33427
OPC_CheckInteger, 15,
33430
OPC_EmitMergeInputChains, 1, 0,
33431
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33432
OPC_MorphNodeTo, TARGET_OPCODE(X86::JS_4), 0|OPFL_Chain|OPFL_FlagInput,
33435
OPC_CheckInteger, 12,
33438
OPC_EmitMergeInputChains, 1, 0,
33439
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33440
OPC_MorphNodeTo, TARGET_OPCODE(X86::JNS_4), 0|OPFL_Chain|OPFL_FlagInput,
33443
OPC_CheckInteger, 14,
33446
OPC_EmitMergeInputChains, 1, 0,
33447
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33448
OPC_MorphNodeTo, TARGET_OPCODE(X86::JP_4), 0|OPFL_Chain|OPFL_FlagInput,
33451
OPC_CheckInteger, 11,
33454
OPC_EmitMergeInputChains, 1, 0,
33455
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33456
OPC_MorphNodeTo, TARGET_OPCODE(X86::JNP_4), 0|OPFL_Chain|OPFL_FlagInput,
33459
OPC_CheckInteger, 7,
33462
OPC_EmitMergeInputChains, 1, 0,
33463
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33464
OPC_MorphNodeTo, TARGET_OPCODE(X86::JL_4), 0|OPFL_Chain|OPFL_FlagInput,
33467
OPC_CheckInteger, 6,
33470
OPC_EmitMergeInputChains, 1, 0,
33471
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33472
OPC_MorphNodeTo, TARGET_OPCODE(X86::JGE_4), 0|OPFL_Chain|OPFL_FlagInput,
33475
OPC_CheckInteger, 8,
33478
OPC_EmitMergeInputChains, 1, 0,
33479
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33480
OPC_MorphNodeTo, TARGET_OPCODE(X86::JLE_4), 0|OPFL_Chain|OPFL_FlagInput,
33483
OPC_CheckInteger, 5,
33486
OPC_EmitMergeInputChains, 1, 0,
33487
OPC_EmitCopyToReg, 2, X86::EFLAGS,
33488
OPC_MorphNodeTo, TARGET_OPCODE(X86::JG_4), 0|OPFL_Chain|OPFL_FlagInput,
33491
48|128,1, ISD::ROTL,
33495
OPC_CheckInteger, 1,
33496
OPC_CheckType, MVT::i8,
33498
OPC_SwitchType , 8, MVT::i8,
33499
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL8r1), 0,
33502
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL16r1), 0,
33505
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL32r1), 0,
33508
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL64r1), 0,
33515
OPC_CheckOpcode, ISD::Constant,
33516
OPC_CheckType, MVT::i8,
33518
OPC_SwitchType , 11, MVT::i8,
33519
OPC_EmitConvertToTarget, 1,
33520
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL8ri), 0,
33521
1, MVT::i8, 2, 0, 2,
33523
OPC_EmitConvertToTarget, 1,
33524
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL16ri), 0,
33525
1, MVT::i16, 2, 0, 2,
33527
OPC_EmitConvertToTarget, 1,
33528
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL32ri), 0,
33529
1, MVT::i32, 2, 0, 2,
33531
OPC_EmitConvertToTarget, 1,
33532
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL64ri), 0,
33533
1, MVT::i64, 2, 0, 2,
33536
OPC_CheckChild1Type, MVT::i8,
33537
OPC_SwitchType , 11, MVT::i8,
33538
OPC_EmitCopyToReg, 1, X86::CL,
33539
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL8rCL), 0|OPFL_FlagInput,
33542
OPC_EmitCopyToReg, 1, X86::CL,
33543
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL16rCL), 0|OPFL_FlagInput,
33546
OPC_EmitCopyToReg, 1, X86::CL,
33547
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL32rCL), 0|OPFL_FlagInput,
33550
OPC_EmitCopyToReg, 1, X86::CL,
33551
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROL64rCL), 0|OPFL_FlagInput,
33556
48|128,1, ISD::ROTR,
33560
OPC_CheckInteger, 1,
33561
OPC_CheckType, MVT::i8,
33563
OPC_SwitchType , 8, MVT::i8,
33564
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR8r1), 0,
33567
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR16r1), 0,
33570
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR32r1), 0,
33573
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR64r1), 0,
33580
OPC_CheckOpcode, ISD::Constant,
33581
OPC_CheckType, MVT::i8,
33583
OPC_SwitchType , 11, MVT::i8,
33584
OPC_EmitConvertToTarget, 1,
33585
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR8ri), 0,
33586
1, MVT::i8, 2, 0, 2,
33588
OPC_EmitConvertToTarget, 1,
33589
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR16ri), 0,
33590
1, MVT::i16, 2, 0, 2,
33592
OPC_EmitConvertToTarget, 1,
33593
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR32ri), 0,
33594
1, MVT::i32, 2, 0, 2,
33596
OPC_EmitConvertToTarget, 1,
33597
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR64ri), 0,
33598
1, MVT::i64, 2, 0, 2,
33601
OPC_CheckChild1Type, MVT::i8,
33602
OPC_SwitchType , 11, MVT::i8,
33603
OPC_EmitCopyToReg, 1, X86::CL,
33604
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR8rCL), 0|OPFL_FlagInput,
33607
OPC_EmitCopyToReg, 1, X86::CL,
33608
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR16rCL), 0|OPFL_FlagInput,
33611
OPC_EmitCopyToReg, 1, X86::CL,
33612
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR32rCL), 0|OPFL_FlagInput,
33615
OPC_EmitCopyToReg, 1, X86::CL,
33616
OPC_MorphNodeTo, TARGET_OPCODE(X86::ROR64rCL), 0|OPFL_FlagInput,
33621
56, X86ISD::SETCC_CARRY,
33623
OPC_CheckInteger, 2,
33626
OPC_SwitchType , 10, MVT::i8,
33627
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33628
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETB_C8r), 0|OPFL_FlagInput,
33631
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33632
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETB_C16r), 0|OPFL_FlagInput,
33635
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33636
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETB_C32r), 0|OPFL_FlagInput,
33639
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33640
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETB_C64r), 0|OPFL_FlagInput,
33643
116|128,1, X86ISD::SETCC,
33646
OPC_CheckInteger, 4,
33649
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33650
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETEr), 0|OPFL_FlagInput,
33653
OPC_CheckInteger, 9,
33656
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33657
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETNEr), 0|OPFL_FlagInput,
33660
OPC_CheckInteger, 7,
33663
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33664
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETLr), 0|OPFL_FlagInput,
33667
OPC_CheckInteger, 6,
33670
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33671
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETGEr), 0|OPFL_FlagInput,
33674
OPC_CheckInteger, 8,
33677
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33678
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETLEr), 0|OPFL_FlagInput,
33681
OPC_CheckInteger, 5,
33684
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33685
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETGr), 0|OPFL_FlagInput,
33688
OPC_CheckInteger, 2,
33691
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33692
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETBr), 0|OPFL_FlagInput,
33695
OPC_CheckInteger, 1,
33698
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33699
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETAEr), 0|OPFL_FlagInput,
33702
OPC_CheckInteger, 3,
33705
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33706
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETBEr), 0|OPFL_FlagInput,
33709
OPC_CheckInteger, 0,
33712
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33713
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETAr), 0|OPFL_FlagInput,
33716
OPC_CheckInteger, 15,
33719
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33720
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETSr), 0|OPFL_FlagInput,
33723
OPC_CheckInteger, 12,
33726
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33727
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETNSr), 0|OPFL_FlagInput,
33730
OPC_CheckInteger, 14,
33733
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33734
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETPr), 0|OPFL_FlagInput,
33737
OPC_CheckInteger, 11,
33740
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33741
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETNPr), 0|OPFL_FlagInput,
33744
OPC_CheckInteger, 13,
33747
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33748
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETOr), 0|OPFL_FlagInput,
33751
OPC_CheckInteger, 10,
33754
OPC_EmitCopyToReg, 0, X86::EFLAGS,
33755
OPC_MorphNodeTo, TARGET_OPCODE(X86::SETNOr), 0|OPFL_FlagInput,
33762
OPC_CheckOpcode, ISD::Constant,
33763
OPC_CheckPredicate, 11,
33764
OPC_CheckType, MVT::i32,
33766
OPC_CheckType, MVT::v2f64,
33767
OPC_CheckPatternPredicate, 1,
33768
OPC_EmitConvertToTarget, 1,
33769
OPC_EmitNodeXForm, 5, 2,
33770
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRLDQri), 0,
33771
1, MVT::v2f64, 2, 0, 3,
33772
35, ISD::CALLSEQ_START,
33776
OPC_CheckOpcode, ISD::TargetConstant,
33779
OPC_CheckPatternPredicate, 2,
33780
OPC_EmitMergeInputChains, 1, 0,
33781
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADJCALLSTACKDOWN32), 0|OPFL_Chain|OPFL_FlagOutput,
33784
OPC_CheckPatternPredicate, 3,
33785
OPC_EmitMergeInputChains, 1, 0,
33786
OPC_MorphNodeTo, TARGET_OPCODE(X86::ADJCALLSTACKDOWN64), 0|OPFL_Chain|OPFL_FlagOutput,
33795
OPC_CheckOpcode, ISD::Constant,
33796
OPC_CheckType, MVT::i8,
33798
OPC_SwitchType , 12, MVT::i32,
33799
OPC_EmitConvertToTarget, 2,
33800
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32rri8), 0,
33801
1, MVT::i32, 3, 0, 1, 3,
33803
OPC_EmitConvertToTarget, 2,
33804
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16rri8), 0,
33805
1, MVT::i16, 3, 0, 1, 3,
33807
OPC_EmitConvertToTarget, 2,
33808
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD64rri8), 0,
33809
1, MVT::i64, 3, 0, 1, 3,
33812
OPC_CheckChild2Type, MVT::i8,
33813
OPC_SwitchType , 12, MVT::i32,
33814
OPC_EmitCopyToReg, 2, X86::CL,
33815
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD32rrCL), 0|OPFL_FlagInput,
33816
1, MVT::i32, 2, 0, 1,
33818
OPC_EmitCopyToReg, 2, X86::CL,
33819
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD16rrCL), 0|OPFL_FlagInput,
33820
1, MVT::i16, 2, 0, 1,
33822
OPC_EmitCopyToReg, 2, X86::CL,
33823
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHLD64rrCL), 0|OPFL_FlagInput,
33824
1, MVT::i64, 2, 0, 1,
33833
OPC_CheckOpcode, ISD::Constant,
33834
OPC_CheckType, MVT::i8,
33836
OPC_SwitchType , 12, MVT::i32,
33837
OPC_EmitConvertToTarget, 2,
33838
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32rri8), 0,
33839
1, MVT::i32, 3, 0, 1, 3,
33841
OPC_EmitConvertToTarget, 2,
33842
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16rri8), 0,
33843
1, MVT::i16, 3, 0, 1, 3,
33845
OPC_EmitConvertToTarget, 2,
33846
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD64rri8), 0,
33847
1, MVT::i64, 3, 0, 1, 3,
33850
OPC_CheckChild2Type, MVT::i8,
33851
OPC_SwitchType , 12, MVT::i32,
33852
OPC_EmitCopyToReg, 2, X86::CL,
33853
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD32rrCL), 0|OPFL_FlagInput,
33854
1, MVT::i32, 2, 0, 1,
33856
OPC_EmitCopyToReg, 2, X86::CL,
33857
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD16rrCL), 0|OPFL_FlagInput,
33858
1, MVT::i16, 2, 0, 1,
33860
OPC_EmitCopyToReg, 2, X86::CL,
33861
OPC_MorphNodeTo, TARGET_OPCODE(X86::SHRD64rrCL), 0|OPFL_FlagInput,
33862
1, MVT::i64, 2, 0, 1,
33865
22|128,2, X86ISD::Wrapper,
33868
OPC_SwitchOpcode , 50, ISD::TargetConstantPool,
33870
OPC_SwitchType , 8, MVT::i32,
33871
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32ri), 0,
33875
OPC_CheckPatternPredicate, 20,
33876
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri), 0,
33879
OPC_CheckPatternPredicate, 21,
33880
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri64i32), 0,
33883
OPC_CheckPatternPredicate, 22,
33884
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri32), 0,
33888
50, ISD::TargetJumpTable,
33890
OPC_SwitchType , 8, MVT::i32,
33891
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32ri), 0,
33895
OPC_CheckPatternPredicate, 20,
33896
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri), 0,
33899
OPC_CheckPatternPredicate, 21,
33900
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri64i32), 0,
33903
OPC_CheckPatternPredicate, 22,
33904
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri32), 0,
33908
11, ISD::TargetGlobalTLSAddress,
33910
OPC_CheckType, MVT::i32,
33911
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32ri), 0,
33913
50, ISD::TargetGlobalAddress,
33915
OPC_SwitchType , 8, MVT::i32,
33916
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32ri), 0,
33920
OPC_CheckPatternPredicate, 20,
33921
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri), 0,
33924
OPC_CheckPatternPredicate, 21,
33925
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri64i32), 0,
33928
OPC_CheckPatternPredicate, 22,
33929
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri32), 0,
33933
50, ISD::TargetExternalSymbol,
33935
OPC_SwitchType , 8, MVT::i32,
33936
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32ri), 0,
33940
OPC_CheckPatternPredicate, 20,
33941
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri), 0,
33944
OPC_CheckPatternPredicate, 21,
33945
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri64i32), 0,
33948
OPC_CheckPatternPredicate, 22,
33949
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri32), 0,
33953
50, ISD::TargetBlockAddress,
33955
OPC_SwitchType , 8, MVT::i32,
33956
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32ri), 0,
33960
OPC_CheckPatternPredicate, 20,
33961
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri), 0,
33964
OPC_CheckPatternPredicate, 21,
33965
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri64i32), 0,
33968
OPC_CheckPatternPredicate, 22,
33969
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri32), 0,
33974
1|128,1, ISD::Constant,
33976
OPC_CheckInteger, 0,
33977
OPC_SwitchType , 7, MVT::i64,
33978
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64r0), 0,
33981
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV8r0), 0,
33984
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV16r0), 0,
33987
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32r0), 0,
33993
OPC_CheckPredicate, 69,
33994
OPC_CheckType, MVT::i64,
33995
OPC_EmitConvertToTarget, 0,
33996
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri64i32), 0,
33999
OPC_CheckPredicate, 12,
34000
OPC_CheckType, MVT::i64,
34001
OPC_EmitConvertToTarget, 0,
34002
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri32), 0,
34005
OPC_CheckType, MVT::i8,
34006
OPC_EmitConvertToTarget, 0,
34007
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV8ri), 0,
34010
OPC_CheckType, MVT::i16,
34011
OPC_EmitConvertToTarget, 0,
34012
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV16ri), 0,
34015
OPC_CheckType, MVT::i32,
34016
OPC_EmitConvertToTarget, 0,
34017
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV32ri), 0,
34020
OPC_CheckType, MVT::i64,
34021
OPC_EmitConvertToTarget, 0,
34022
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOV64ri), 0,
34030
OPC_CheckOpcode, ISD::Constant,
34031
OPC_CheckType, MVT::i8,
34033
OPC_SwitchType , 16, MVT::v2i64,
34034
OPC_CheckPatternPredicate, 1,
34035
OPC_EmitConvertToTarget, 1,
34036
OPC_EmitNodeXForm, 5, 2,
34037
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSLLDQri), 0,
34038
1, MVT::v2i64, 2, 0, 3,
34040
OPC_EmitConvertToTarget, 1,
34041
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSLLQri), 0,
34042
1, MVT::v1i64, 2, 0, 2,
34048
OPC_CheckOpcode, ISD::Constant,
34049
OPC_CheckType, MVT::i8,
34051
OPC_SwitchType , 16, MVT::v2i64,
34052
OPC_CheckPatternPredicate, 1,
34053
OPC_EmitConvertToTarget, 1,
34054
OPC_EmitNodeXForm, 5, 2,
34055
OPC_MorphNodeTo, TARGET_OPCODE(X86::PSRLDQri), 0,
34056
1, MVT::v2i64, 2, 0, 3,
34058
OPC_EmitConvertToTarget, 1,
34059
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PSRLQri), 0,
34060
1, MVT::v1i64, 2, 0, 2,
34062
47, X86ISD::PEXTRW,
34065
OPC_CheckChild0Type, MVT::v8i16,
34068
OPC_CheckOpcode, ISD::Constant,
34070
OPC_CheckPatternPredicate, 1,
34071
OPC_EmitConvertToTarget, 1,
34072
OPC_MorphNodeTo, TARGET_OPCODE(X86::PEXTRWri), 0,
34073
1, MVT::i32, 2, 0, 2,
34075
OPC_CheckChild0Type, MVT::v4i16,
34078
OPC_CheckOpcode, ISD::Constant,
34080
OPC_CheckPatternPredicate, 8,
34081
OPC_EmitConvertToTarget, 1,
34082
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_PEXTRWri), 0,
34083
1, MVT::i32, 2, 0, 2,
34085
22, X86ISD::PEXTRB,
34087
OPC_CheckChild0Type, MVT::v16i8,
34090
OPC_CheckOpcode, ISD::Constant,
34092
OPC_CheckPatternPredicate, 4,
34093
OPC_EmitConvertToTarget, 1,
34094
OPC_MorphNodeTo, TARGET_OPCODE(X86::PEXTRBrr), 0,
34095
1, MVT::i32, 2, 0, 2,
34096
110|128,1, ISD::ConstantFP,
34098
OPC_CheckPredicate, 109,
34099
OPC_CheckType, MVT::f32,
34100
OPC_CheckPatternPredicate, 6,
34101
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp032), 0,
34104
OPC_CheckPredicate, 110,
34105
OPC_CheckType, MVT::f32,
34106
OPC_CheckPatternPredicate, 6,
34107
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp132), 0,
34110
OPC_CheckPredicate, 109,
34111
OPC_CheckType, MVT::f64,
34112
OPC_CheckPatternPredicate, 7,
34113
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp064), 0,
34116
OPC_CheckPredicate, 110,
34117
OPC_CheckType, MVT::f64,
34118
OPC_CheckPatternPredicate, 7,
34119
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp164), 0,
34122
OPC_CheckPredicate, 109,
34123
OPC_CheckType, MVT::f80,
34124
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp080), 0,
34127
OPC_CheckPredicate, 110,
34128
OPC_CheckType, MVT::f80,
34129
OPC_MorphNodeTo, TARGET_OPCODE(X86::LD_Fp180), 0,
34132
OPC_CheckPredicate, 111,
34133
OPC_CheckType, MVT::f32,
34134
OPC_CheckPatternPredicate, 0,
34135
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsFLD0SS), 0,
34138
OPC_CheckPredicate, 109,
34139
OPC_CheckType, MVT::f64,
34140
OPC_CheckPatternPredicate, 1,
34141
OPC_MorphNodeTo, TARGET_OPCODE(X86::FsFLD0SD), 0,
34144
OPC_CheckPredicate, 112,
34145
OPC_CheckType, MVT::f32,
34146
OPC_CheckPatternPredicate, 6,
34147
OPC_EmitNode, TARGET_OPCODE(X86::LD_Fp032), 0,
34149
OPC_MorphNodeTo, TARGET_OPCODE(X86::CHS_Fp32), 0,
34152
OPC_CheckPredicate, 113,
34153
OPC_CheckType, MVT::f32,
34154
OPC_CheckPatternPredicate, 6,
34155
OPC_EmitNode, TARGET_OPCODE(X86::LD_Fp132), 0,
34157
OPC_MorphNodeTo, TARGET_OPCODE(X86::CHS_Fp32), 0,
34160
OPC_CheckPredicate, 112,
34161
OPC_CheckType, MVT::f64,
34162
OPC_CheckPatternPredicate, 7,
34163
OPC_EmitNode, TARGET_OPCODE(X86::LD_Fp064), 0,
34165
OPC_MorphNodeTo, TARGET_OPCODE(X86::CHS_Fp64), 0,
34168
OPC_CheckPredicate, 113,
34169
OPC_CheckType, MVT::f64,
34170
OPC_CheckPatternPredicate, 7,
34171
OPC_EmitNode, TARGET_OPCODE(X86::LD_Fp164), 0,
34173
OPC_MorphNodeTo, TARGET_OPCODE(X86::CHS_Fp64), 0,
34176
OPC_CheckPredicate, 112,
34177
OPC_CheckType, MVT::f80,
34178
OPC_EmitNode, TARGET_OPCODE(X86::LD_Fp080), 0,
34180
OPC_MorphNodeTo, TARGET_OPCODE(X86::CHS_Fp80), 0,
34183
OPC_CheckPredicate, 113,
34184
OPC_CheckType, MVT::f80,
34185
OPC_EmitNode, TARGET_OPCODE(X86::LD_Fp180), 0,
34187
OPC_MorphNodeTo, TARGET_OPCODE(X86::CHS_Fp80), 0,
34190
15|128,1, ISD::BUILD_VECTOR,
34192
OPC_CheckPredicate, 44,
34193
OPC_SwitchType , 9, MVT::v4i32,
34194
OPC_CheckPatternPredicate, 0,
34195
OPC_MorphNodeTo, TARGET_OPCODE(X86::V_SET0), 0,
34198
OPC_MorphNodeTo, TARGET_OPCODE(X86::V_SET0), 0,
34201
OPC_MorphNodeTo, TARGET_OPCODE(X86::V_SET0), 0,
34204
OPC_MorphNodeTo, TARGET_OPCODE(X86::V_SET0), 0,
34207
OPC_MorphNodeTo, TARGET_OPCODE(X86::V_SET0), 0,
34210
OPC_MorphNodeTo, TARGET_OPCODE(X86::V_SET0), 0,
34214
OPC_CheckPredicate, 67,
34215
OPC_CheckType, MVT::v4i32,
34216
OPC_CheckPatternPredicate, 1,
34217
OPC_MorphNodeTo, TARGET_OPCODE(X86::V_SETALLONES), 0,
34220
OPC_CheckPredicate, 44,
34221
OPC_CheckType, MVT::v2i32,
34222
OPC_CheckPatternPredicate, 8,
34223
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_V_SET0), 0,
34226
OPC_CheckPredicate, 67,
34227
OPC_CheckType, MVT::v2i32,
34228
OPC_CheckPatternPredicate, 8,
34229
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_V_SETALLONES), 0,
34232
OPC_CheckPredicate, 44,
34233
OPC_SwitchType , 9, MVT::v1i64,
34234
OPC_CheckPatternPredicate, 8,
34235
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_V_SET0), 0,
34238
OPC_CheckPatternPredicate, 8,
34239
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_V_SET0), 0,
34242
OPC_CheckPatternPredicate, 8,
34243
OPC_MorphNodeTo, TARGET_OPCODE(X86::MMX_V_SET0), 0,
34249
OPC_SwitchType , 10, MVT::f32,
34250
OPC_CheckPatternPredicate, 6,
34251
OPC_MorphNodeTo, TARGET_OPCODE(X86::CHS_Fp32), 0,
34254
OPC_CheckPatternPredicate, 7,
34255
OPC_MorphNodeTo, TARGET_OPCODE(X86::CHS_Fp64), 0,
34258
OPC_MorphNodeTo, TARGET_OPCODE(X86::CHS_Fp80), 0,
34263
OPC_SwitchType , 10, MVT::f32,
34264
OPC_CheckPatternPredicate, 6,
34265
OPC_MorphNodeTo, TARGET_OPCODE(X86::ABS_Fp32), 0,
34268
OPC_CheckPatternPredicate, 7,
34269
OPC_MorphNodeTo, TARGET_OPCODE(X86::ABS_Fp64), 0,
34272
OPC_MorphNodeTo, TARGET_OPCODE(X86::ABS_Fp80), 0,
34277
OPC_SwitchType , 10, MVT::f32,
34278
OPC_CheckPatternPredicate, 6,
34279
OPC_MorphNodeTo, TARGET_OPCODE(X86::SIN_Fp32), 0,
34282
OPC_CheckPatternPredicate, 7,
34283
OPC_MorphNodeTo, TARGET_OPCODE(X86::SIN_Fp64), 0,
34286
OPC_MorphNodeTo, TARGET_OPCODE(X86::SIN_Fp80), 0,
34291
OPC_SwitchType , 10, MVT::f32,
34292
OPC_CheckPatternPredicate, 6,
34293
OPC_MorphNodeTo, TARGET_OPCODE(X86::COS_Fp32), 0,
34296
OPC_CheckPatternPredicate, 7,
34297
OPC_MorphNodeTo, TARGET_OPCODE(X86::COS_Fp64), 0,
34300
OPC_MorphNodeTo, TARGET_OPCODE(X86::COS_Fp80), 0,
34306
OPC_CheckChild0Type, MVT::i16,
34307
OPC_CheckType, MVT::i16,
34309
OPC_CheckPatternPredicate, 2,
34310
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC16r), 0,
34311
2, MVT::i16, MVT::i32, 1, 0,
34313
OPC_CheckPatternPredicate, 3,
34314
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC64_16r), 0,
34315
2, MVT::i16, MVT::i32, 1, 0,
34318
OPC_CheckChild0Type, MVT::i32,
34319
OPC_CheckType, MVT::i32,
34321
OPC_CheckPatternPredicate, 2,
34322
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC32r), 0,
34323
2, MVT::i32, MVT::i32, 1, 0,
34325
OPC_CheckPatternPredicate, 3,
34326
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC64_32r), 0,
34327
2, MVT::i32, MVT::i32, 1, 0,
34330
OPC_CheckChild0Type, MVT::i8,
34331
OPC_CheckType, MVT::i8,
34332
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC8r), 0,
34333
2, MVT::i8, MVT::i32, 1, 0,
34335
OPC_CheckChild0Type, MVT::i64,
34336
OPC_CheckType, MVT::i64,
34337
OPC_MorphNodeTo, TARGET_OPCODE(X86::INC64r), 0,
34338
2, MVT::i64, MVT::i32, 1, 0,
34343
OPC_CheckChild0Type, MVT::i16,
34344
OPC_CheckType, MVT::i16,
34346
OPC_CheckPatternPredicate, 2,
34347
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC16r), 0,
34348
2, MVT::i16, MVT::i32, 1, 0,
34350
OPC_CheckPatternPredicate, 3,
34351
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC64_16r), 0,
34352
2, MVT::i16, MVT::i32, 1, 0,
34355
OPC_CheckChild0Type, MVT::i32,
34356
OPC_CheckType, MVT::i32,
34358
OPC_CheckPatternPredicate, 2,
34359
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC32r), 0,
34360
2, MVT::i32, MVT::i32, 1, 0,
34362
OPC_CheckPatternPredicate, 3,
34363
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC64_32r), 0,
34364
2, MVT::i32, MVT::i32, 1, 0,
34367
OPC_CheckChild0Type, MVT::i8,
34368
OPC_CheckType, MVT::i8,
34369
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC8r), 0,
34370
2, MVT::i8, MVT::i32, 1, 0,
34372
OPC_CheckChild0Type, MVT::i64,
34373
OPC_CheckType, MVT::i64,
34374
OPC_MorphNodeTo, TARGET_OPCODE(X86::DEC64r), 0,
34375
2, MVT::i64, MVT::i32, 1, 0,
34381
OPC_CheckOpcode, ISD::BasicBlock,
34383
OPC_EmitMergeInputChains, 1, 0,
34384
OPC_MorphNodeTo, TARGET_OPCODE(X86::JMP_4), 0|OPFL_Chain,
34388
OPC_SwitchType , 8, MVT::i32,
34389
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSWAP32r), 0,
34392
OPC_MorphNodeTo, TARGET_OPCODE(X86::BSWAP64r), 0,
34395
58, X86ISD::REP_MOVS,
34397
OPC_CaptureFlagInput,
34400
OPC_CheckValueType, MVT::i8,
34402
OPC_EmitMergeInputChains, 1, 0,
34403
OPC_MorphNodeTo, TARGET_OPCODE(X86::REP_MOVSB), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
34406
OPC_CheckValueType, MVT::i16,
34408
OPC_EmitMergeInputChains, 1, 0,
34409
OPC_MorphNodeTo, TARGET_OPCODE(X86::REP_MOVSW), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
34412
OPC_CheckValueType, MVT::i32,
34414
OPC_EmitMergeInputChains, 1, 0,
34415
OPC_MorphNodeTo, TARGET_OPCODE(X86::REP_MOVSD), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
34418
OPC_CheckValueType, MVT::i64,
34420
OPC_EmitMergeInputChains, 1, 0,
34421
OPC_MorphNodeTo, TARGET_OPCODE(X86::REP_MOVSQ), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
34424
58, X86ISD::REP_STOS,
34426
OPC_CaptureFlagInput,
34429
OPC_CheckValueType, MVT::i8,
34431
OPC_EmitMergeInputChains, 1, 0,
34432
OPC_MorphNodeTo, TARGET_OPCODE(X86::REP_STOSB), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
34435
OPC_CheckValueType, MVT::i16,
34437
OPC_EmitMergeInputChains, 1, 0,
34438
OPC_MorphNodeTo, TARGET_OPCODE(X86::REP_STOSW), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
34441
OPC_CheckValueType, MVT::i32,
34443
OPC_EmitMergeInputChains, 1, 0,
34444
OPC_MorphNodeTo, TARGET_OPCODE(X86::REP_STOSD), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
34447
OPC_CheckValueType, MVT::i64,
34449
OPC_EmitMergeInputChains, 1, 0,
34450
OPC_MorphNodeTo, TARGET_OPCODE(X86::REP_STOSQ), 0|OPFL_Chain|OPFL_FlagInput|OPFL_FlagOutput,
34453
10, X86ISD::RDTSC_DAG,
34455
OPC_EmitMergeInputChains, 1, 0,
34456
OPC_MorphNodeTo, TARGET_OPCODE(X86::RDTSC), 0|OPFL_Chain|OPFL_FlagOutput,
34460
OPC_EmitMergeInputChains, 1, 0,
34461
OPC_MorphNodeTo, TARGET_OPCODE(X86::TRAP), 0|OPFL_Chain,
34463
76, ISD::SIGN_EXTEND,
34466
OPC_CheckChild0Type, MVT::i8,
34467
OPC_SwitchType , 8, MVT::i16,
34468
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX16rr8), 0,
34471
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX32rr8), 0,
34474
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX64rr8), 0,
34478
OPC_CheckChild0Type, MVT::i16,
34479
OPC_SwitchType , 8, MVT::i32,
34480
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX32rr16), 0,
34483
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX64rr16), 0,
34487
OPC_CheckChild0Type, MVT::i32,
34488
OPC_CheckType, MVT::i64,
34489
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX64rr32), 0,
34492
30, X86ISD::EH_RETURN,
34496
OPC_CheckChild1Type, MVT::i32,
34497
OPC_EmitMergeInputChains, 1, 0,
34498
OPC_MorphNodeTo, TARGET_OPCODE(X86::EH_RETURN), 0|OPFL_Chain,
34501
OPC_CheckChild1Type, MVT::i64,
34502
OPC_EmitMergeInputChains, 1, 0,
34503
OPC_MorphNodeTo, TARGET_OPCODE(X86::EH_RETURN64), 0|OPFL_Chain,
34506
108|128,1, ISD::SIGN_EXTEND_INREG,
34510
OPC_CheckValueType, MVT::i16,
34512
OPC_CheckType, MVT::i32,
34513
OPC_EmitInteger, MVT::i32, 3,
34514
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
34515
1, MVT::i16, 2, 0, 1,
34516
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX32rr16), 0,
34519
OPC_CheckValueType, MVT::i32,
34521
OPC_CheckType, MVT::i64,
34522
OPC_EmitInteger, MVT::i32, 4,
34523
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
34524
1, MVT::i32, 2, 0, 1,
34525
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX64rr32), 0,
34528
OPC_CheckValueType, MVT::i16,
34530
OPC_CheckType, MVT::i64,
34531
OPC_EmitInteger, MVT::i32, 3,
34532
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
34533
1, MVT::i16, 2, 0, 1,
34534
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX64rr16), 0,
34537
OPC_CheckValueType, MVT::i8,
34539
OPC_SwitchType , 20, MVT::i64,
34540
OPC_EmitInteger, MVT::i32, 1,
34541
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
34542
1, MVT::i8, 2, 0, 1,
34543
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX64rr8), 0,
34547
OPC_CheckPatternPredicate, 3,
34548
OPC_EmitInteger, MVT::i32, 1,
34549
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
34550
1, MVT::i8, 2, 0, 1,
34551
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX32rr8), 0,
34554
OPC_CheckPatternPredicate, 2,
34555
OPC_EmitInteger, MVT::i32, X86::GR32_ABCDRegClassID,
34556
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
34557
1, MVT::i32, 2, 0, 1,
34558
OPC_EmitInteger, MVT::i32, 1,
34559
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
34560
1, MVT::i8, 2, 2, 3,
34561
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX32rr8), 0,
34566
OPC_CheckPatternPredicate, 3,
34567
OPC_EmitInteger, MVT::i32, 1,
34568
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
34569
1, MVT::i8, 2, 0, 1,
34570
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX16rr8), 0,
34573
OPC_CheckPatternPredicate, 2,
34574
OPC_EmitInteger, MVT::i32, X86::GR16_ABCDRegClassID,
34575
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::COPY_TO_REGCLASS), 0,
34576
1, MVT::i16, 2, 0, 1,
34577
OPC_EmitInteger, MVT::i32, 1,
34578
OPC_EmitNode, TARGET_OPCODE(TargetOpcode::EXTRACT_SUBREG), 0,
34579
1, MVT::i8, 2, 2, 3,
34580
OPC_MorphNodeTo, TARGET_OPCODE(X86::MOVSX16rr8), 0,
34587
}; // Total Array size is 79144 bytes
34589
#undef TARGET_OPCODE
34590
return SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
34593
bool CheckPatternPredicate(unsigned PredNo) const {
34595
default: assert(0 && "Invalid predicate in table?");
34596
case 0: return (Subtarget->hasSSE1());
34597
case 1: return (Subtarget->hasSSE2());
34598
case 2: return (!Subtarget->is64Bit());
34599
case 3: return (Subtarget->is64Bit());
34600
case 4: return (Subtarget->hasSSE41());
34601
case 5: return (TM.getCodeModel() == CodeModel::Small ||TM.getCodeModel() == CodeModel::Kernel) && (TM.getRelocationModel() == Reloc::Static);
34602
case 6: return (!Subtarget->hasSSE1());
34603
case 7: return (!Subtarget->hasSSE2());
34604
case 8: return (Subtarget->hasMMX());
34605
case 9: return (Subtarget->hasSSE3());
34606
case 10: return (!OptForSize) && (Subtarget->hasSSE2());
34607
case 11: return (Subtarget->hasSSSE3());
34608
case 12: return (Subtarget->hasSSE2()) && (OptForSize);
34609
case 13: return (Subtarget->hasSSE2()) && (!OptForSize);
34610
case 14: return (Subtarget->hasSSE42());
34611
case 15: return (Subtarget->hasMMX()) && (Subtarget->is64Bit());
34612
case 16: return (!Subtarget->isTargetWin64());
34613
case 17: return (Subtarget->isTargetWin64());
34614
case 18: return (Subtarget->IsLegalToCallImmediateAddr(TM));
34615
case 19: return (Subtarget->hasSSE1()) && (OptForSize);
34616
case 20: return (TM.getCodeModel() != CodeModel::Small &&TM.getCodeModel() != CodeModel::Kernel);
34617
case 21: return (TM.getCodeModel() == CodeModel::Small);
34618
case 22: return (TM.getCodeModel() == CodeModel::Kernel);
34622
bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const {
34624
default: assert(0 && "Invalid predicate in table?");
34625
case 0: { // Predicate_alignednontemporalstore
34628
if (StoreSDNode *ST = dyn_cast<StoreSDNode>(N))
34629
return ST->isNonTemporal() && !ST->isTruncatingStore() &&
34630
ST->getAddressingMode() == ISD::UNINDEXED &&
34631
ST->getAlignment() >= 16;
34635
case 1: { // Predicate_nontemporalstore
34638
if (StoreSDNode *ST = dyn_cast<StoreSDNode>(N))
34639
return ST->isNonTemporal();
34643
case 2: { // Predicate_unindexedstore
34646
return cast<StoreSDNode>(N)->getAddressingMode() == ISD::UNINDEXED;
34649
case 3: { // Predicate_store
34652
return !cast<StoreSDNode>(N)->isTruncatingStore();
34655
case 4: { // Predicate_unindexedload
34658
return cast<LoadSDNode>(N)->getAddressingMode() == ISD::UNINDEXED;
34661
case 5: { // Predicate_loadi32
34664
LoadSDNode *LD = cast<LoadSDNode>(N);
34665
if (const Value *Src = LD->getSrcValue())
34666
if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))
34667
if (PT->getAddressSpace() > 255)
34669
ISD::LoadExtType ExtType = LD->getExtensionType();
34670
if (ExtType == ISD::NON_EXTLOAD)
34672
if (ExtType == ISD::EXTLOAD)
34673
return LD->getAlignment() >= 4 && !LD->isVolatile();
34677
case 6: { // Predicate_loadi16
34680
LoadSDNode *LD = cast<LoadSDNode>(N);
34681
if (const Value *Src = LD->getSrcValue())
34682
if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))
34683
if (PT->getAddressSpace() > 255)
34685
ISD::LoadExtType ExtType = LD->getExtensionType();
34686
if (ExtType == ISD::NON_EXTLOAD)
34688
if (ExtType == ISD::EXTLOAD)
34689
return LD->getAlignment() >= 2 && !LD->isVolatile();
34693
case 7: { // Predicate_shrd
34696
assert(N->getOpcode() == ISD::OR);
34697
return N->getOperand(0).getOpcode() == ISD::SRL &&
34698
N->getOperand(1).getOpcode() == ISD::SHL &&
34699
isa<ConstantSDNode>(N->getOperand(0).getOperand(1)) &&
34700
isa<ConstantSDNode>(N->getOperand(1).getOperand(1)) &&
34701
N->getOperand(0).getConstantOperandVal(1) ==
34702
N->getValueSizeInBits(0) - N->getOperand(1).getConstantOperandVal(1);
34705
case 8: { // Predicate_shld
34708
assert(N->getOpcode() == ISD::OR);
34709
return N->getOperand(0).getOpcode() == ISD::SHL &&
34710
N->getOperand(1).getOpcode() == ISD::SRL &&
34711
isa<ConstantSDNode>(N->getOperand(0).getOperand(1)) &&
34712
isa<ConstantSDNode>(N->getOperand(1).getOperand(1)) &&
34713
N->getOperand(0).getConstantOperandVal(1) ==
34714
N->getValueSizeInBits(0) - N->getOperand(1).getConstantOperandVal(1);
34717
case 9: { // Predicate_load
34720
return cast<LoadSDNode>(N)->getExtensionType() == ISD::NON_EXTLOAD;
34723
case 10: { // Predicate_dsload
34726
if (const Value *Src = cast<LoadSDNode>(N)->getSrcValue())
34727
if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))
34728
if (PT->getAddressSpace() > 255)
34733
case 11: { // Predicate_immSext8
34734
ConstantSDNode*N = cast<ConstantSDNode>(Node);
34736
return N->getSExtValue() == (int8_t)N->getSExtValue();
34739
case 12: { // Predicate_i64immSExt32
34740
ConstantSDNode*N = cast<ConstantSDNode>(Node);
34742
// i64immSExt32 predicate - True if the 64-bit immediate fits in a 32-bit
34743
// sign extended field.
34744
return (int64_t)N->getZExtValue() == (int32_t)N->getZExtValue();
34747
case 13: { // Predicate_movlp
34750
return X86::isMOVLPMask(cast<ShuffleVectorSDNode>(N));
34753
case 14: { // Predicate_unpckh
34756
return X86::isUNPCKHMask(cast<ShuffleVectorSDNode>(N));
34759
case 15: { // Predicate_trunc_su
34762
return N->hasOneUse();
34765
case 16: { // Predicate_srl_su
34768
return N->hasOneUse();
34771
case 17: { // Predicate_truncstore
34774
return cast<StoreSDNode>(N)->isTruncatingStore();
34777
case 18: { // Predicate_truncstorei16
34780
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::i16;
34783
case 19: { // Predicate_truncstoref32
34786
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::f32;
34789
case 20: { // Predicate_truncstoref64
34792
return cast<StoreSDNode>(N)->getMemoryVT() == MVT::f64;
34795
case 21: { // Predicate_alignedstore
34798
return cast<StoreSDNode>(N)->getAlignment() >= 16;
34801
case 22: { // Predicate_movlhps
34804
return X86::isMOVLHPSMask(cast<ShuffleVectorSDNode>(N));
34807
case 23: { // Predicate_movshdup
34810
return X86::isMOVSHDUPMask(cast<ShuffleVectorSDNode>(N));
34813
case 24: { // Predicate_memop
34816
return Subtarget->hasVectorUAMem()
34817
|| cast<LoadSDNode>(N)->getAlignment() >= 16;
34820
case 25: { // Predicate_movsldup
34823
return X86::isMOVSLDUPMask(cast<ShuffleVectorSDNode>(N));
34826
case 26: { // Predicate_pshufd
34829
return X86::isPSHUFDMask(cast<ShuffleVectorSDNode>(N));
34832
case 27: { // Predicate_movddup
34835
return X86::isMOVDDUPMask(cast<ShuffleVectorSDNode>(N));
34838
case 28: { // Predicate_unpckl
34841
return X86::isUNPCKLMask(cast<ShuffleVectorSDNode>(N));
34844
case 29: { // Predicate_pshufhw
34847
return X86::isPSHUFHWMask(cast<ShuffleVectorSDNode>(N));
34850
case 30: { // Predicate_pshuflw
34853
return X86::isPSHUFLWMask(cast<ShuffleVectorSDNode>(N));
34856
case 31: { // Predicate_mmx_pshufw
34859
return X86::isPSHUFDMask(cast<ShuffleVectorSDNode>(N));
34862
case 32: { // Predicate_shufp
34865
return X86::isSHUFPMask(cast<ShuffleVectorSDNode>(N));
34868
case 33: { // Predicate_mmx_unpckh
34871
return X86::isUNPCKHMask(cast<ShuffleVectorSDNode>(N));
34874
case 34: { // Predicate_mmx_unpckl
34877
return X86::isUNPCKLMask(cast<ShuffleVectorSDNode>(N));
34880
case 35: { // Predicate_movhlps_undef
34883
return X86::isMOVHLPS_v_undef_Mask(cast<ShuffleVectorSDNode>(N));
34886
case 36: { // Predicate_movhlps
34889
return X86::isMOVHLPSMask(cast<ShuffleVectorSDNode>(N));
34892
case 37: { // Predicate_movl
34895
return X86::isMOVLMask(cast<ShuffleVectorSDNode>(N));
34898
case 38: { // Predicate_immAllZerosV_bc
34901
return ISD::isBuildVectorAllZeros(N);
34904
case 39: { // Predicate_unpckl_undef
34907
return X86::isUNPCKL_v_undef_Mask(cast<ShuffleVectorSDNode>(N));
34910
case 40: { // Predicate_unpckh_undef
34913
return X86::isUNPCKH_v_undef_Mask(cast<ShuffleVectorSDNode>(N));
34916
case 41: { // Predicate_splat_lo
34919
ShuffleVectorSDNode *SVOp = cast<ShuffleVectorSDNode>(N);
34920
return SVOp->isSplat() && SVOp->getSplatIndex() == 0;
34923
case 42: { // Predicate_mmx_unpckl_undef
34926
return X86::isUNPCKL_v_undef_Mask(cast<ShuffleVectorSDNode>(N));
34929
case 43: { // Predicate_mmx_unpckh_undef
34932
return X86::isUNPCKH_v_undef_Mask(cast<ShuffleVectorSDNode>(N));
34935
case 44: { // Predicate_immAllZerosV
34938
return ISD::isBuildVectorAllZeros(N);
34941
case 45: { // Predicate_palign
34944
return X86::isPALIGNRMask(cast<ShuffleVectorSDNode>(N));
34947
case 46: { // Predicate_gsload
34950
if (const Value *Src = cast<LoadSDNode>(N)->getSrcValue())
34951
if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))
34952
return PT->getAddressSpace() == 256;
34956
case 47: { // Predicate_fsload
34959
if (const Value *Src = cast<LoadSDNode>(N)->getSrcValue())
34960
if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))
34961
return PT->getAddressSpace() == 257;
34965
case 48: { // Predicate_extload
34968
return cast<LoadSDNode>(N)->getExtensionType() == ISD::EXTLOAD;
34971
case 49: { // Predicate_extloadf32
34974
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::f32;
34977
case 50: { // Predicate_extloadf64
34980
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::f64;
34983
case 51: { // Predicate_sextload
34986
return cast<LoadSDNode>(N)->getExtensionType() == ISD::SEXTLOAD;
34989
case 52: { // Predicate_sextloadi8
34992
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i8;
34995
case 53: { // Predicate_sextloadi16
34998
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i16;
35001
case 54: { // Predicate_zextload
35004
return cast<LoadSDNode>(N)->getExtensionType() == ISD::ZEXTLOAD;
35007
case 55: { // Predicate_zextloadi8
35010
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i8;
35013
case 56: { // Predicate_zextloadi16
35016
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i16;
35019
case 57: { // Predicate_zextloadi1
35022
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i1;
35025
case 58: { // Predicate_extloadi1
35028
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i1;
35031
case 59: { // Predicate_extloadi8
35034
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i8;
35037
case 60: { // Predicate_extloadi16
35040
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i16;
35043
case 61: { // Predicate_sextloadi32
35046
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i32;
35049
case 62: { // Predicate_zextloadi32
35052
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i32;
35055
case 63: { // Predicate_alignedload
35058
return cast<LoadSDNode>(N)->getAlignment() >= 16;
35061
case 64: { // Predicate_extloadi32
35064
return cast<LoadSDNode>(N)->getMemoryVT() == MVT::i32;
35067
case 65: { // Predicate_loadi16_anyext
35070
LoadSDNode *LD = cast<LoadSDNode>(N);
35071
if (const Value *Src = LD->getSrcValue())
35072
if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))
35073
if (PT->getAddressSpace() > 255)
35075
ISD::LoadExtType ExtType = LD->getExtensionType();
35076
if (ExtType == ISD::EXTLOAD)
35077
return LD->getAlignment() >= 2 && !LD->isVolatile();
35081
case 66: { // Predicate_memop64
35084
return cast<LoadSDNode>(N)->getAlignment() >= 8;
35087
case 67: { // Predicate_immAllOnesV
35090
return ISD::isBuildVectorAllOnes(N);
35093
case 68: { // Predicate_immAllOnesV_bc
35096
return ISD::isBuildVectorAllOnes(N);
35099
case 69: { // Predicate_i64immZExt32
35100
ConstantSDNode*N = cast<ConstantSDNode>(Node);
35102
// i64immZExt32 predicate - True if the 64-bit immediate fits in a 32-bit
35103
// unsignedsign extended field.
35104
return (uint64_t)N->getZExtValue() == (uint32_t)N->getZExtValue();
35107
case 70: { // Predicate_and_su
35110
return N->hasOneUse();
35113
case 71: { // Predicate_or_is_add
35116
if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N->getOperand(1)))
35117
return CurDAG->MaskedValueIsZero(N->getOperand(0), CN->getAPIntValue());
35119
unsigned BitWidth = N->getValueType(0).getScalarType().getSizeInBits();
35120
APInt Mask = APInt::getAllOnesValue(BitWidth);
35121
APInt KnownZero0, KnownOne0;
35122
CurDAG->ComputeMaskedBits(N->getOperand(0), Mask, KnownZero0, KnownOne0, 0);
35123
APInt KnownZero1, KnownOne1;
35124
CurDAG->ComputeMaskedBits(N->getOperand(1), Mask, KnownZero1, KnownOne1, 0);
35125
return (~KnownZero0 & ~KnownZero1) == 0;
35129
case 72: { // Predicate_atomic_swap_32
35132
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
35135
case 73: { // Predicate_atomic_swap_16
35138
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
35141
case 74: { // Predicate_atomic_swap_8
35144
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
35147
case 75: { // Predicate_atomic_swap_64
35150
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
35153
case 76: { // Predicate_atomic_load_add_32
35156
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
35159
case 77: { // Predicate_atomic_load_add_16
35162
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
35165
case 78: { // Predicate_atomic_load_add_8
35168
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
35171
case 79: { // Predicate_atomic_load_add_64
35174
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
35177
case 80: { // Predicate_atomic_load_and_32
35180
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
35183
case 81: { // Predicate_atomic_load_and_16
35186
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
35189
case 82: { // Predicate_atomic_load_and_8
35192
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
35195
case 83: { // Predicate_atomic_load_and_64
35198
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
35201
case 84: { // Predicate_atomic_load_or_32
35204
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
35207
case 85: { // Predicate_atomic_load_or_16
35210
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
35213
case 86: { // Predicate_atomic_load_or_8
35216
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
35219
case 87: { // Predicate_atomic_load_or_64
35222
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
35225
case 88: { // Predicate_atomic_load_xor_32
35228
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
35231
case 89: { // Predicate_atomic_load_xor_16
35234
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
35237
case 90: { // Predicate_atomic_load_xor_8
35240
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
35243
case 91: { // Predicate_atomic_load_xor_64
35246
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
35249
case 92: { // Predicate_atomic_load_nand_32
35252
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
35255
case 93: { // Predicate_atomic_load_nand_16
35258
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
35261
case 94: { // Predicate_atomic_load_nand_8
35264
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i8;
35267
case 95: { // Predicate_atomic_load_nand_64
35270
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
35273
case 96: { // Predicate_atomic_load_min_32
35276
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
35279
case 97: { // Predicate_atomic_load_min_16
35282
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
35285
case 98: { // Predicate_atomic_load_min_64
35288
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
35291
case 99: { // Predicate_atomic_load_max_32
35294
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
35297
case 100: { // Predicate_atomic_load_max_16
35300
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
35303
case 101: { // Predicate_atomic_load_max_64
35306
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
35309
case 102: { // Predicate_atomic_load_umin_32
35312
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
35315
case 103: { // Predicate_atomic_load_umin_16
35318
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
35321
case 104: { // Predicate_atomic_load_umin_64
35324
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
35327
case 105: { // Predicate_atomic_load_umax_32
35330
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i32;
35333
case 106: { // Predicate_atomic_load_umax_16
35336
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i16;
35339
case 107: { // Predicate_atomic_load_umax_64
35342
return cast<AtomicSDNode>(N)->getMemoryVT() == MVT::i64;
35345
case 108: { // Predicate_def32
35348
return N->getOpcode() != ISD::TRUNCATE &&
35349
N->getOpcode() != TargetOpcode::EXTRACT_SUBREG &&
35350
N->getOpcode() != ISD::CopyFromReg &&
35351
N->getOpcode() != X86ISD::CMOV;
35354
case 109: { // Predicate_fpimm0
35355
ConstantFPSDNode*N = cast<ConstantFPSDNode>(Node);
35357
return N->isExactlyValue(+0.0);
35360
case 110: { // Predicate_fpimm1
35361
ConstantFPSDNode*N = cast<ConstantFPSDNode>(Node);
35363
return N->isExactlyValue(+1.0);
35366
case 111: { // Predicate_fp32imm0
35367
ConstantFPSDNode*N = cast<ConstantFPSDNode>(Node);
35369
return N->isExactlyValue(+0.0);
35372
case 112: { // Predicate_fpimmneg0
35373
ConstantFPSDNode*N = cast<ConstantFPSDNode>(Node);
35375
return N->isExactlyValue(-0.0);
35378
case 113: { // Predicate_fpimmneg1
35379
ConstantFPSDNode*N = cast<ConstantFPSDNode>(Node);
35381
return N->isExactlyValue(-1.0);
35387
bool CheckComplexPattern(SDNode *Root, SDValue N,
35388
unsigned PatternNo, SmallVectorImpl<SDValue> &Result) {
35389
switch (PatternNo) {
35390
default: assert(0 && "Invalid pattern # in table?");
35392
Result.resize(Result.size()+5);
35393
return SelectAddr(Root, N, Result[Result.size()-5], Result[Result.size()-4], Result[Result.size()-3], Result[Result.size()-2], Result[Result.size()-1]);
35395
Result.resize(Result.size()+6);
35396
return SelectScalarSSELoad(Root, N, Result[Result.size()-6], Result[Result.size()-5], Result[Result.size()-4], Result[Result.size()-3], Result[Result.size()-2], Result[Result.size()-1]);
35398
Result.resize(Result.size()+6);
35399
return SelectScalarSSELoad(Root, N, Result[Result.size()-6], Result[Result.size()-5], Result[Result.size()-4], Result[Result.size()-3], Result[Result.size()-2], Result[Result.size()-1]);
35401
Result.resize(Result.size()+4);
35402
return SelectLEAAddr(Root, N, Result[Result.size()-4], Result[Result.size()-3], Result[Result.size()-2], Result[Result.size()-1]);
35404
Result.resize(Result.size()+4);
35405
return SelectLEAAddr(Root, N, Result[Result.size()-4], Result[Result.size()-3], Result[Result.size()-2], Result[Result.size()-1]);
35407
Result.resize(Result.size()+4);
35408
return SelectTLSADDRAddr(Root, N, Result[Result.size()-4], Result[Result.size()-3], Result[Result.size()-2], Result[Result.size()-1]);
35410
Result.resize(Result.size()+4);
35411
return SelectTLSADDRAddr(Root, N, Result[Result.size()-4], Result[Result.size()-3], Result[Result.size()-2], Result[Result.size()-1]);
35415
SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) {
35417
default: assert(0 && "Invalid xform # in table?");
35419
SDNode *N = V.getNode();
35421
return getI8Imm(X86::getShuffleSHUFImmediate(N));
35425
SDNode *N = V.getNode();
35427
return getI8Imm(X86::getShufflePSHUFHWImmediate(N));
35431
SDNode *N = V.getNode();
35433
return getI8Imm(X86::getShufflePSHUFLWImmediate(N));
35437
SDNode *N = V.getNode();
35439
return getI8Imm(X86::getShuffleSHUFImmediate(N));
35443
SDNode *N = V.getNode();
35445
return getI8Imm(X86::getShufflePALIGNRImmediate(N));
35449
ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
35451
// Transformation function: imm >> 3
35452
return getI32Imm(N->getZExtValue() >> 3);
35456
ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
35458
// Transformation function: get the low 32 bits.
35459
return getI32Imm((unsigned)N->getZExtValue());