Lines Matching defs:ShuffleVT
8462 MVT ShuffleVT = VT;
8543 ShuffleVT = MVT::v16i8;
8550 ShuffleVT = MVT::v4f32;
8553 ShuffleVT = MVT::v16i8;
8562 ShuffleVT = MVT::v2f64;
8698 assert((VT.getSizeInBits() == ShuffleVT.getSizeInBits()) &&
8699 (VT.getScalarSizeInBits() % ShuffleVT.getScalarSizeInBits()) == 0 &&
8702 uint64_t Scale = VT.getScalarSizeInBits() / ShuffleVT.getScalarSizeInBits();
8706 EVT ShuffleIdxVT = EVT(ShuffleVT).changeVectorElementTypeToInteger();
8709 SrcVec = DAG.getBitcast(ShuffleVT, SrcVec);
8711 ? DAG.getNode(Opcode, DL, ShuffleVT, IndicesVec, SrcVec)
8712 : DAG.getNode(Opcode, DL, ShuffleVT, SrcVec, IndicesVec);
14109 MVT ShuffleVT = VT;
14113 ShuffleVT = V1.getSimpleValueType();
14130 Result = DAG.getNode(X86ISD::VPERMV, DL, ShuffleVT, MaskNode, V1);
14132 Result = DAG.getNode(X86ISD::VPERMV3, DL, ShuffleVT, V1, MaskNode, V2);
14134 if (VT != ShuffleVT)
37982 unsigned &Shuffle, MVT &ShuffleVT,
37997 ShuffleVT = (AllowFloatDomain ? MVT::v4f64 : MVT::v4i64);
38005 ShuffleVT = (AllowFloatDomain ? MVT::v8f64 : MVT::v8i64);
38013 ShuffleVT = MVT::getVectorVT(MVT::f64, Mask.size());
38043 ShuffleVT = (AllowIntDomain ? MVT::i32 : MVT::f32);
38044 ShuffleVT = MVT::getVectorVT(ShuffleVT, InputSizeInBits / 32);
38064 ShuffleVT = MVT::getVectorVT(MVT::i16, InputSizeInBits / 16);
38078 ShuffleVT = MVT::getVectorVT(MVT::i16, InputSizeInBits / 16);
38089 int RotateAmt = matchShuffleAsBitRotate(ShuffleVT, MaskScalarSizeInBits,
38104 matchShuffleAsShift(ShuffleVT, Shuffle, MaskScalarSizeInBits, Mask, 0,
38106 if (0 < ShiftAmt && (!ShuffleVT.is512BitVector() || Subtarget.hasBWI() ||
38107 32 <= ShuffleVT.getScalarSizeInBits())) {
38326 unsigned &Shuffle, MVT &ShuffleVT, unsigned &PermuteImm) {
38340 ShuffleVT = MVT::getVectorVT(MVT::i64, MaskVT.getSizeInBits() / 64);
38342 ShuffleVT = MVT::getVectorVT(MVT::i32, MaskVT.getSizeInBits() / 32);
38356 ShuffleVT = MVT::getVectorVT(MVT::i8, MaskVT.getSizeInBits() / 8);
38385 ShuffleVT = MaskVT;
38393 ShuffleVT = MaskVT;
38405 ShuffleVT = MVT::v4f32;
38420 ShuffleVT = MVT::getVectorVT(MVT::f64, MaskVT.getSizeInBits() / 64);
38465 ShuffleVT = MVT::getVectorVT(MVT::f32, MaskVT.getSizeInBits() / 32);
38477 ShuffleVT = MVT::v4f32;
38612 auto MatchSHUF128 = [&](MVT ShuffleVT, const SDLoc &DL,
38617 SDValue Ops[2] = {DAG.getUNDEF(ShuffleVT), DAG.getUNDEF(ShuffleVT)};
38633 return DAG.getNode(X86ISD::SHUF128, DL, ShuffleVT,
38634 CanonicalizeShuffleInput(ShuffleVT, Ops[0]),
38635 CanonicalizeShuffleInput(ShuffleVT, Ops[1]),
38654 MVT ShuffleVT = (FloatDomain ? MVT::v8f64 : MVT::v8i64);
38655 if (SDValue V = MatchSHUF128(ShuffleVT, DL, ScaledMask, V1, V2, DAG))
38763 MVT ShuffleSrcVT, ShuffleVT;
38805 DAG, Subtarget, Shuffle, ShuffleSrcVT, ShuffleVT) &&
38807 (NumRootElts == ShuffleVT.getVectorNumElements()))) {
38811 Res = DAG.getNode(Shuffle, DL, ShuffleVT, Res);
38816 AllowIntDomain, DAG, Subtarget, Shuffle, ShuffleVT,
38819 (NumRootElts == ShuffleVT.getVectorNumElements()))) {
38822 Res = CanonicalizeShuffleInput(ShuffleVT, V1);
38823 Res = DAG.getNode(Shuffle, DL, ShuffleVT, Res,
38868 ShuffleVT, UnaryShuffle) &&
38869 (!IsMaskedShuffle || (NumRootElts == ShuffleVT.getVectorNumElements()))) {
38874 Res = DAG.getNode(Shuffle, DL, ShuffleVT, NewV1, NewV2);
38882 Subtarget, Shuffle, ShuffleVT, PermuteImm) &&
38883 (!IsMaskedShuffle || (NumRootElts == ShuffleVT.getVectorNumElements()))) {
38886 NewV1 = CanonicalizeShuffleInput(ShuffleVT, NewV1);
38887 NewV2 = CanonicalizeShuffleInput(ShuffleVT, NewV2);
38888 Res = DAG.getNode(Shuffle, DL, ShuffleVT, NewV1, NewV2,
38926 if (matchShuffleAsVTRUNC(ShuffleSrcVT, ShuffleVT, IntMaskVT, Mask, Zeroable,
38928 bool IsTRUNCATE = ShuffleVT.getVectorNumElements() ==
38935 Res = DAG.getNode(Opc, DL, ShuffleVT, V1);
38936 if (ShuffleVT.getSizeInBits() < RootSizeInBits)
39469 MVT ShuffleVT = MVT::getVectorVT(MVT::f32, RootSizeInBits / 32);
39470 Res = DAG.getBitcast(ShuffleVT, Res);
39471 return DAG.getNode(X86ISD::SHUFP, DL, ShuffleVT, Res, Res,
40485 EVT ShuffleVT = N.getValueType();
40505 auto IsSafeToMoveShuffle = [ShuffleVT](SDValue Op, unsigned BinOp) {
40509 (Op.getScalarValueSizeInBits() <= ShuffleVT.getScalarSizeInBits());
40529 if (N.getOperand(0).getValueType() == ShuffleVT &&
40541 Op00 = DAG.getBitcast(ShuffleVT, Op00);
40542 Op01 = DAG.getBitcast(ShuffleVT, Op01);
40544 LHS = DAG.getNode(Opc, DL, ShuffleVT, Op00, N.getOperand(1));
40545 RHS = DAG.getNode(Opc, DL, ShuffleVT, Op01, N.getOperand(1));
40547 LHS = DAG.getNode(Opc, DL, ShuffleVT, Op00);
40548 RHS = DAG.getNode(Opc, DL, ShuffleVT, Op01);
40551 return DAG.getBitcast(ShuffleVT,
40595 Op00 = DAG.getBitcast(ShuffleVT, Op00);
40596 Op10 = DAG.getBitcast(ShuffleVT, Op10);
40597 Op01 = DAG.getBitcast(ShuffleVT, Op01);
40598 Op11 = DAG.getBitcast(ShuffleVT, Op11);
40600 LHS = DAG.getNode(Opc, DL, ShuffleVT, Op00, Op10, N.getOperand(2));
40601 RHS = DAG.getNode(Opc, DL, ShuffleVT, Op01, Op11, N.getOperand(2));
40603 LHS = DAG.getNode(Opc, DL, ShuffleVT, Op00, Op10);
40604 RHS = DAG.getNode(Opc, DL, ShuffleVT, Op01, Op11);
40607 return DAG.getBitcast(ShuffleVT,
40620 Op00 = DAG.getBitcast(ShuffleVT, Op00);
40621 Op10 = DAG.getBitcast(ShuffleVT, Op10);
40623 Res = DAG.getNode(Opc, DL, ShuffleVT, Op00, Op10, N.getOperand(2));
40625 Res = DAG.getNode(Opc, DL, ShuffleVT, Op00, Op10);
40629 ShuffleVT,
56374 MVT ShuffleVT = VT.isFloatingPoint() ? MVT::v8f64 : MVT::v8i64;
56379 SDValue Res = DAG.getNode(X86ISD::SHUF128, DL, ShuffleVT,
56380 DAG.getBitcast(ShuffleVT, LHS),
56381 DAG.getBitcast(ShuffleVT, RHS),
56729 MVT ShuffleVT = VT.isFloatingPoint() ? MVT::v8f64 : MVT::v8i64;
56731 Res = DAG.getBitcast(ShuffleVT, Res);
56732 Res = DAG.getNode(X86ISD::SHUF128, DL, ShuffleVT, Res, Res,