@@ -2645,7 +2645,7 @@ Instruction *InstCombinerImpl::visitAnd(BinaryOperator &I) {
26452645 !Builder.GetInsertBlock ()->getParent ()->hasFnAttribute (
26462646 Attribute::NoImplicitFloat)) {
26472647 Type *EltTy = CastOp->getType ()->getScalarType ();
2648- if (EltTy->isFloatingPointTy () && EltTy-> isIEEE ()) {
2648+ if (EltTy->isIEEELikeFPTy ()) {
26492649 Value *FAbs = Builder.CreateUnaryIntrinsic (Intrinsic::fabs, CastOp);
26502650 return new BitCastInst (FAbs, I.getType ());
26512651 }
@@ -4057,7 +4057,7 @@ Instruction *InstCombinerImpl::visitOr(BinaryOperator &I) {
40574057 !Builder.GetInsertBlock ()->getParent ()->hasFnAttribute (
40584058 Attribute::NoImplicitFloat)) {
40594059 Type *EltTy = CastOp->getType ()->getScalarType ();
4060- if (EltTy->isFloatingPointTy () && EltTy-> isIEEE ()) {
4060+ if (EltTy->isIEEELikeFPTy ()) {
40614061 Value *FAbs = Builder.CreateUnaryIntrinsic (Intrinsic::fabs, CastOp);
40624062 Value *FNegFAbs = Builder.CreateFNeg (FAbs);
40634063 return new BitCastInst (FNegFAbs, I.getType ());
@@ -4859,7 +4859,7 @@ Instruction *InstCombinerImpl::visitXor(BinaryOperator &I) {
48594859 !Builder.GetInsertBlock ()->getParent ()->hasFnAttribute (
48604860 Attribute::NoImplicitFloat)) {
48614861 Type *EltTy = CastOp->getType ()->getScalarType ();
4862- if (EltTy->isFloatingPointTy () && EltTy-> isIEEE ()) {
4862+ if (EltTy->isIEEELikeFPTy ()) {
48634863 Value *FNeg = Builder.CreateFNeg (CastOp);
48644864 return new BitCastInst (FNeg, I.getType ());
48654865 }
0 commit comments