mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
llvm.fmuladd.* lowering should be checking isOperationLegalOrCustom, rather than
isOperationLegal. Thanks to Craig Topper for pointing this out. llvm-svn: 168485
This commit is contained in:
parent
b9c4f4e95e
commit
313cf13f6d
@ -4994,7 +4994,7 @@ SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I, unsigned Intrinsic) {
|
|||||||
case Intrinsic::fmuladd: {
|
case Intrinsic::fmuladd: {
|
||||||
EVT VT = TLI.getValueType(I.getType());
|
EVT VT = TLI.getValueType(I.getType());
|
||||||
if (TM.Options.AllowFPOpFusion != FPOpFusion::Strict &&
|
if (TM.Options.AllowFPOpFusion != FPOpFusion::Strict &&
|
||||||
TLI.isOperationLegal(ISD::FMA, VT) &&
|
TLI.isOperationLegalOrCustom(ISD::FMA, VT) &&
|
||||||
TLI.isFMAFasterThanMulAndAdd(VT)){
|
TLI.isFMAFasterThanMulAndAdd(VT)){
|
||||||
setValue(&I, DAG.getNode(ISD::FMA, dl,
|
setValue(&I, DAG.getNode(ISD::FMA, dl,
|
||||||
getValue(I.getArgOperand(0)).getValueType(),
|
getValue(I.getArgOperand(0)).getValueType(),
|
||||||
|
Loading…
Reference in New Issue
Block a user