Fix the completely broken FP constant folds for setcc's.
llvm-svn: 19651
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 95da460..e40d022 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -389,10 +389,10 @@
default: break; // FIXME: Implement the rest of these!
case ISD::SETEQ: return getConstant(C1 == C2, MVT::i1);
case ISD::SETNE: return getConstant(C1 != C2, MVT::i1);
- case ISD::SETLT: return getConstant((int64_t)C1 < (int64_t)C2, MVT::i1);
- case ISD::SETGT: return getConstant((int64_t)C1 < (int64_t)C2, MVT::i1);
- case ISD::SETLE: return getConstant((int64_t)C1 < (int64_t)C2, MVT::i1);
- case ISD::SETGE: return getConstant((int64_t)C1 < (int64_t)C2, MVT::i1);
+ case ISD::SETLT: return getConstant(C1 < C2, MVT::i1);
+ case ISD::SETGT: return getConstant(C1 > C2, MVT::i1);
+ case ISD::SETLE: return getConstant(C1 <= C2, MVT::i1);
+ case ISD::SETGE: return getConstant(C1 > C2, MVT::i1);
}
} else {
// Ensure that the constant occurs on the RHS.