reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/X86/X86ISelLowering.cpp
15581   assert(Mask.size() == 4 && "Unexpected mask size for v4 shuffle!");
15583   if (SDValue V = lowerV2X128Shuffle(DL, MVT::v4f64, V1, V2, Mask, Zeroable,
15590                                                     Mask, Subtarget, DAG))
15594     if (isShuffleEquivalent(V1, V2, Mask, {0, 0, 2, 2}))
15597     if (!is128BitLaneCrossingShuffleMask(MVT::v4f64, Mask)) {
15600       unsigned VPERMILPMask = (Mask[0] == 1) | ((Mask[1] == 1) << 1) |
15600       unsigned VPERMILPMask = (Mask[0] == 1) | ((Mask[1] == 1) << 1) |
15601                               ((Mask[2] == 3) << 2) | ((Mask[3] == 3) << 3);
15601                               ((Mask[2] == 3) << 2) | ((Mask[3] == 3) << 3);
15609                          getV4X86ShuffleImm8ForMask(Mask, DL, DAG));
15614             DL, MVT::v4f64, V1, V2, Mask, Subtarget, DAG))
15619                                                         Mask, DAG, Subtarget))
15623     return lowerShuffleAsLanePermuteAndShuffle(DL, MVT::v4f64, V1, V2, Mask,
15628   if (SDValue V = lowerShuffleWithUNPCK(DL, MVT::v4f64, Mask, V1, V2, DAG))
15631   if (SDValue Blend = lowerShuffleAsBlend(DL, MVT::v4f64, V1, V2, Mask,
15636   if (SDValue Op = lowerShuffleWithSHUFPD(DL, MVT::v4f64, V1, V2, Mask,
15642   if (isShuffleMaskInputInPlace(0, Mask) || isShuffleMaskInputInPlace(1, Mask))
15642   if (isShuffleMaskInputInPlace(0, Mask) || isShuffleMaskInputInPlace(1, Mask))
15643     return lowerShuffleAsDecomposedShuffleBlend(DL, MVT::v4f64, V1, V2, Mask,
15649           DL, MVT::v4f64, V1, V2, Mask, Subtarget, DAG))
15656   if (!(Subtarget.hasAVX2() && (isShuffleMaskInputInPlace(0, Mask) ||
15657                                 isShuffleMaskInputInPlace(1, Mask))))
15659             DL, MVT::v4f64, V1, V2, Mask, Subtarget, DAG))
15664     if (SDValue V = lowerShuffleToEXPAND(DL, MVT::v4f64, Zeroable, Mask, V1, V2,
15671     return lowerShuffleAsDecomposedShuffleBlend(DL, MVT::v4f64, V1, V2, Mask,
15675   return lowerShuffleAsSplitOrBlend(DL, MVT::v4f64, V1, V2, Mask,