diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 9c8b13029f6..8fec8a268be 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -91,7 +91,8 @@ bool ISD::isBuildVectorAllOnes(const SDNode *N) { if (!cast(NotZero)->isAllOnesValue()) return false; } else if (isa(NotZero)) { - if (!cast(NotZero)->isExactlyValue(-1)) + if (DoubleToBits(cast(NotZero)->getValue()) == + (0ULL - 1)) return false; } else return false;