Lines Matching defs:IToFP
227 /// Generate code to convert a fp number to integer, replacing S(U)IToFP with
309 static void expandIToFP(Instruction *IToFP) {
310 IRBuilder<> Builder(IToFP);
311 auto *IntVal = IToFP->getOperand(0);
315 unsigned FPMantissaWidth = IToFP->getType()->getFPMantissaWidth() - 1;
324 bool IsSigned = IToFP->getOpcode() == Instruction::SIToFP;
540 if (IToFP->getType()->isDoubleTy()) {
546 A4 = Builder.CreateBitCast(Or1, IToFP->getType());
547 } else if (IToFP->getType()->isX86_FP80Ty()) {
550 A4 = Builder.CreateFPTrunc(A40, IToFP->getType());
551 } else if (IToFP->getType()->isHalfTy() || IToFP->getType()->isBFloatTy()) {
556 A4 = Builder.CreateFPTrunc(A40, IToFP->getType());
558 A4 = Builder.CreateBitCast(Or35, IToFP->getType());
563 PHINode *Retval0 = Builder.CreatePHI(IToFP->getType(), 2);
565 Retval0->addIncoming(ConstantFP::getZero(IToFP->getType(), false), Entry);
567 IToFP->replaceAllUsesWith(Retval0);
568 IToFP->dropAllReferences();
569 IToFP->eraseFromParent();