|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/Target/X86/X86ISelLowering.cpp13181 assert(V1.getSimpleValueType() == MVT::v4f32 && "Bad operand type!");
13189 if (SDValue Broadcast = lowerShuffleAsBroadcast(DL, MVT::v4f32, V1, V2,
13195 if (isShuffleEquivalent(V1, V2, Mask, {0, 0, 2, 2}))
13196 return DAG.getNode(X86ISD::MOVSLDUP, DL, MVT::v4f32, V1);
13197 if (isShuffleEquivalent(V1, V2, Mask, {1, 1, 3, 3}))
13198 return DAG.getNode(X86ISD::MOVSHDUP, DL, MVT::v4f32, V1);
13204 return DAG.getNode(X86ISD::VPERMILPI, DL, MVT::v4f32, V1,
13211 if (isShuffleEquivalent(V1, V2, Mask, {0, 1, 0, 1}))
13212 return DAG.getNode(X86ISD::MOVLHPS, DL, MVT::v4f32, V1, V1);
13212 return DAG.getNode(X86ISD::MOVLHPS, DL, MVT::v4f32, V1, V1);
13213 if (isShuffleEquivalent(V1, V2, Mask, {2, 3, 2, 3}))
13214 return DAG.getNode(X86ISD::MOVHLPS, DL, MVT::v4f32, V1, V1);
13214 return DAG.getNode(X86ISD::MOVHLPS, DL, MVT::v4f32, V1, V1);
13219 return DAG.getNode(X86ISD::SHUFP, DL, MVT::v4f32, V1, V1,
13219 return DAG.getNode(X86ISD::SHUFP, DL, MVT::v4f32, V1, V1,
13224 if (SDValue Extract = lowerShuffleOfExtractsAsVperm(DL, V1, V2, Mask, DAG))
13234 DL, MVT::v4f32, V1, V2, Mask, Zeroable, Subtarget, DAG))
13238 if (SDValue Blend = lowerShuffleAsBlend(DL, MVT::v4f32, V1, V2, Mask,
13243 if (SDValue V = lowerShuffleAsInsertPS(DL, V1, V2, Mask, Zeroable, DAG))
13247 if (SDValue BlendPerm = lowerShuffleAsBlendAndPermute(DL, MVT::v4f32, V1,
13255 if (isShuffleEquivalent(V1, V2, Mask, {0, 1, 4, 5}))
13256 return DAG.getNode(X86ISD::MOVLHPS, DL, MVT::v4f32, V1, V2);
13257 if (isShuffleEquivalent(V1, V2, Mask, {2, 3, 6, 7}))
13258 return DAG.getNode(X86ISD::MOVHLPS, DL, MVT::v4f32, V2, V1);
13262 if (SDValue V = lowerShuffleWithUNPCK(DL, MVT::v4f32, Mask, V1, V2, DAG))
13266 return lowerShuffleWithSHUFPS(DL, MVT::v4f32, Mask, V1, V2, DAG);