|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/Target/X86/X86ISelLowering.cpp32301 SDValue V2 = (UnaryShuffle ? DAG.getUNDEF(V1.getValueType())
32317 return DAG.getBitcast(RootVT, V1);
32347 return DAG.getBitcast(RootVT, DAG.getNode(X86ISD::SUBV_BROADCAST, DL,
32347 return DAG.getBitcast(RootVT, DAG.getNode(X86ISD::SUBV_BROADCAST, DL,
32370 Res = DAG.getBitcast(ShuffleVT, V1);
32371 Res = DAG.getNode(X86ISD::VPERM2X128, DL, ShuffleVT, Res,
32372 DAG.getUNDEF(ShuffleVT),
32373 DAG.getTargetConstant(PermMask, DL, MVT::i8));
32374 return DAG.getBitcast(RootVT, Res);
32398 if (!DAG.getTargetLoweringInfo().isTypeLegal(MaskVT))
32431 return DAG.getBitcast(RootVT, V1);
32447 Res = DAG.getNode(X86ISD::VBROADCAST, DL, MaskVT, Res);
32448 return DAG.getBitcast(RootVT, Res);
32453 Res = DAG.getBitcast(MaskVT, V1);
32454 Res = DAG.getNode(X86ISD::VBROADCAST, DL, MaskVT, Res);
32455 return DAG.getBitcast(RootVT, Res);
32462 DL, DAG, Subtarget, Shuffle, ShuffleSrcVT,
32467 Res = DAG.getBitcast(ShuffleSrcVT, NewV1);
32468 Res = DAG.getNode(Shuffle, DL, ShuffleVT, Res);
32469 return DAG.getBitcast(RootVT, Res);
32478 Res = DAG.getBitcast(ShuffleVT, V1);
32479 Res = DAG.getNode(Shuffle, DL, ShuffleVT, Res,
32480 DAG.getTargetConstant(PermuteImm, DL, MVT::i8));
32481 return DAG.getBitcast(RootVT, Res);
32488 NewV2, DL, DAG, Subtarget, Shuffle, ShuffleSrcVT,
32493 NewV1 = DAG.getBitcast(ShuffleSrcVT, NewV1);
32494 NewV2 = DAG.getBitcast(ShuffleSrcVT, NewV2);
32495 Res = DAG.getNode(Shuffle, DL, ShuffleVT, NewV1, NewV2);
32496 return DAG.getBitcast(RootVT, Res);
32503 NewV2, DL, DAG, Subtarget, Shuffle, ShuffleVT, PermuteImm) &&
32507 NewV1 = DAG.getBitcast(ShuffleVT, NewV1);
32508 NewV2 = DAG.getBitcast(ShuffleVT, NewV2);
32509 Res = DAG.getNode(Shuffle, DL, ShuffleVT, NewV1, NewV2,
32510 DAG.getTargetConstant(PermuteImm, DL, MVT::i8));
32511 return DAG.getBitcast(RootVT, Res);
32525 V1 = DAG.getBitcast(IntMaskVT, V1);
32526 Res = DAG.getNode(X86ISD::EXTRQI, DL, IntMaskVT, V1,
32527 DAG.getTargetConstant(BitLen, DL, MVT::i8),
32528 DAG.getTargetConstant(BitIdx, DL, MVT::i8));
32529 return DAG.getBitcast(RootVT, Res);
32535 V1 = DAG.getBitcast(IntMaskVT, V1);
32536 V2 = DAG.getBitcast(IntMaskVT, V2);
32537 Res = DAG.getNode(X86ISD::INSERTQI, DL, IntMaskVT, V1, V2,
32538 DAG.getTargetConstant(BitLen, DL, MVT::i8),
32539 DAG.getTargetConstant(BitIdx, DL, MVT::i8));
32540 return DAG.getBitcast(RootVT, Res);
32568 SDValue VPermMask = getConstVector(Mask, IntMaskVT, DAG, DL, true);
32569 Res = DAG.getBitcast(MaskVT, V1);
32570 Res = DAG.getNode(X86ISD::VPERMV, DL, MaskVT, VPermMask, Res);
32571 return DAG.getBitcast(RootVT, Res);
32592 SDValue VPermMask = getConstVector(Mask, IntMaskVT, DAG, DL, true);
32593 Res = DAG.getBitcast(MaskVT, V1);
32594 SDValue Zero = getZeroVector(MaskVT, Subtarget, DAG, DL);
32595 Res = DAG.getNode(X86ISD::VPERMV3, DL, MaskVT, Res, VPermMask, Zero);
32596 return DAG.getBitcast(RootVT, Res);
32603 DAG, Subtarget))
32618 SDValue VPermMask = getConstVector(Mask, IntMaskVT, DAG, DL, true);
32619 V1 = DAG.getBitcast(MaskVT, V1);
32620 V2 = DAG.getBitcast(MaskVT, V2);
32621 Res = DAG.getNode(X86ISD::VPERMV3, DL, MaskVT, V1, VPermMask, V2);
32622 return DAG.getBitcast(RootVT, Res);
32631 DAG.getTargetLoweringInfo().isTypeLegal(MaskVT)) {
32646 SDValue BitMask = getConstVector(EltBits, UndefElts, MaskVT, DAG, DL);
32647 Res = DAG.getBitcast(MaskVT, V1);
32650 Res = DAG.getNode(AndOpcode, DL, MaskVT, Res, BitMask);
32651 return DAG.getBitcast(RootVT, Res);
32663 M < 0 ? DAG.getUNDEF(MVT::i32) : DAG.getConstant(M % 4, DL, MVT::i32);
32663 M < 0 ? DAG.getUNDEF(MVT::i32) : DAG.getConstant(M % 4, DL, MVT::i32);
32666 SDValue VPermMask = DAG.getBuildVector(IntMaskVT, DL, VPermIdx);
32667 Res = DAG.getBitcast(MaskVT, V1);
32668 Res = DAG.getNode(X86ISD::VPERMILPV, DL, MaskVT, Res, VPermMask);
32669 return DAG.getBitcast(RootVT, Res);
32699 V1 = DAG.getBitcast(MaskVT, V1);
32700 V2 = DAG.getBitcast(MaskVT, V2);
32701 SDValue VPerm2MaskOp = getConstVector(VPerm2Idx, IntMaskVT, DAG, DL, true);
32702 Res = DAG.getNode(X86ISD::VPERMIL2, DL, MaskVT, V1, V2, VPerm2MaskOp,
32703 DAG.getTargetConstant(M2ZImm, DL, MVT::i8));
32704 return DAG.getBitcast(RootVT, Res);
32722 PSHUFBMask.push_back(DAG.getUNDEF(MVT::i8));
32726 PSHUFBMask.push_back(DAG.getConstant(255, DL, MVT::i8));
32731 PSHUFBMask.push_back(DAG.getConstant(M, DL, MVT::i8));
32734 Res = DAG.getBitcast(ByteVT, V1);
32735 SDValue PSHUFBMaskOp = DAG.getBuildVector(ByteVT, DL, PSHUFBMask);
32736 Res = DAG.getNode(X86ISD::PSHUFB, DL, ByteVT, Res, PSHUFBMaskOp);
32737 return DAG.getBitcast(RootVT, Res);
32753 VPPERMMask.push_back(DAG.getUNDEF(MVT::i8));
32757 VPPERMMask.push_back(DAG.getConstant(128, DL, MVT::i8));
32761 VPPERMMask.push_back(DAG.getConstant(M, DL, MVT::i8));
32764 V1 = DAG.getBitcast(ByteVT, V1);
32765 V2 = DAG.getBitcast(ByteVT, V2);
32766 SDValue VPPERMMaskOp = DAG.getBuildVector(ByteVT, DL, VPPERMMask);
32767 Res = DAG.getNode(X86ISD::VPPERM, DL, ByteVT, V1, V2, VPPERMMaskOp);
32768 return DAG.getBitcast(RootVT, Res);
32775 DAG, Subtarget))
32793 SDValue VPermMask = getConstVector(Mask, IntMaskVT, DAG, DL, true);
32794 V1 = DAG.getBitcast(MaskVT, V1);
32795 V2 = DAG.getBitcast(MaskVT, V2);
32796 Res = DAG.getNode(X86ISD::VPERMV3, DL, MaskVT, V1, VPermMask, V2);
32797 return DAG.getBitcast(RootVT, Res);