mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-14 09:25:25 +00:00
Allow for copysign having f80 second argument.
Fixes 5550319. llvm-svn: 43205
This commit is contained in:
parent
34bb3728ff
commit
2edd0fb69d
@ -4040,6 +4040,15 @@ SDOperand X86TargetLowering::LowerFCOPYSIGN(SDOperand Op, SelectionDAG &DAG) {
|
||||
SrcVT = VT;
|
||||
SrcTy = MVT::getTypeForValueType(SrcVT);
|
||||
}
|
||||
// And if it is bigger, shrink it first.
|
||||
if (MVT::getSizeInBits(SrcVT) > MVT::getSizeInBits(VT)) {
|
||||
Op1 = DAG.getNode(ISD::FP_ROUND, VT, Op1);
|
||||
SrcVT = VT;
|
||||
SrcTy = MVT::getTypeForValueType(SrcVT);
|
||||
}
|
||||
|
||||
// At this point the operands and the result should have the same
|
||||
// type, and that won't be f80 since that is not custom lowered.
|
||||
|
||||
// First get the sign bit of second operand.
|
||||
std::vector<Constant*> CV;
|
||||
|
Loading…
x
Reference in New Issue
Block a user