Fix a crash where a utility function wasn't aware of fcmp vectors and created a value...
[oota-llvm.git] / lib / Transforms / InstCombine / InstCombineAndOrXor.cpp
index ee21c81fa2676b886e7de351ca7e46e3e5ef2c20..15e0889b51b75b4430e971d64e076195fbd4427d 100644 (file)
@@ -93,7 +93,8 @@ static Value *getFCmpValue(bool isordered, unsigned code,
   case 5: Pred = isordered ? FCmpInst::FCMP_ONE : FCmpInst::FCMP_UNE; break;
   case 6: Pred = isordered ? FCmpInst::FCMP_OLE : FCmpInst::FCMP_ULE; break;
   case 7:
-    if (!isordered) return ConstantInt::getTrue(LHS->getContext());
+    if (!isordered)
+      return ConstantInt::get(CmpInst::makeCmpResultType(LHS->getType()), 1);
     Pred = FCmpInst::FCMP_ORD; break;
   }
   return Builder->CreateFCmp(Pred, LHS, RHS);