forked from OSchip/llvm-project
[X86][SSE] Don't use PSHUFD directly - lower with generic shuffle
Remove the last user of the old getTargetShuffleNode helpers llvm-svn: 281499
This commit is contained in:
parent
284582b6d4
commit
fbbb28ebb3
|
@ -3848,21 +3848,6 @@ static bool isTargetShuffleVariableMask(unsigned Opcode) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static SDValue getTargetShuffleNode(unsigned Opc, const SDLoc &dl, MVT VT,
|
|
||||||
SDValue V1, unsigned TargetMask,
|
|
||||||
SelectionDAG &DAG) {
|
|
||||||
switch(Opc) {
|
|
||||||
default: llvm_unreachable("Unknown x86 shuffle node");
|
|
||||||
case X86ISD::PSHUFD:
|
|
||||||
case X86ISD::PSHUFHW:
|
|
||||||
case X86ISD::PSHUFLW:
|
|
||||||
case X86ISD::VPERMILPI:
|
|
||||||
case X86ISD::VPERMI:
|
|
||||||
return DAG.getNode(Opc, dl, VT, V1,
|
|
||||||
DAG.getConstant(TargetMask, dl, MVT::i8));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SDValue X86TargetLowering::getReturnAddressFrameIndex(SelectionDAG &DAG) const {
|
SDValue X86TargetLowering::getReturnAddressFrameIndex(SelectionDAG &DAG) const {
|
||||||
MachineFunction &MF = DAG.getMachineFunction();
|
MachineFunction &MF = DAG.getMachineFunction();
|
||||||
const X86RegisterInfo *RegInfo = Subtarget.getRegisterInfo();
|
const X86RegisterInfo *RegInfo = Subtarget.getRegisterInfo();
|
||||||
|
@ -13689,8 +13674,7 @@ SDValue X86TargetLowering::LowerUINT_TO_FP_i64(SDValue Op,
|
||||||
Result = DAG.getNode(X86ISD::FHADD, dl, MVT::v2f64, Sub, Sub);
|
Result = DAG.getNode(X86ISD::FHADD, dl, MVT::v2f64, Sub, Sub);
|
||||||
} else {
|
} else {
|
||||||
SDValue S2F = DAG.getBitcast(MVT::v4i32, Sub);
|
SDValue S2F = DAG.getBitcast(MVT::v4i32, Sub);
|
||||||
SDValue Shuffle = getTargetShuffleNode(X86ISD::PSHUFD, dl, MVT::v4i32,
|
SDValue Shuffle = DAG.getVectorShuffle(MVT::v4i32, dl, S2F, S2F, {2,3,0,1});
|
||||||
S2F, 0x4E, DAG);
|
|
||||||
Result = DAG.getNode(ISD::FADD, dl, MVT::v2f64,
|
Result = DAG.getNode(ISD::FADD, dl, MVT::v2f64,
|
||||||
DAG.getBitcast(MVT::v2f64, Shuffle), Sub);
|
DAG.getBitcast(MVT::v2f64, Shuffle), Sub);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue